2012-08-27 164 views
4

我使用的是從http://detectmobilebrowsers.com/的JavaScript版本重定向到一個移動網站。唯一的一點是,我有一個鏈接去完整的網站,在用戶希望/需要去那裏的機會。手機網站重定向的完整網站鏈接

但是,當您點擊鏈接從移動設備上查看完整網站時,它會重新進行重新定向,並將其返回到移動版本而不是完整網站。

我在做一些搜索,想知道它是否可能是可能的,以便它使用

window.location.href.indexOf 

或性質類似這樣的財產以後本事:

if(window.location.href.indexOf("mobile/index.html") > -1) 
{window.location = "http://thefullsiteURL.com"} 
else { function (a, b) { 
if (//mobile direction stuff from detectmobilebrowsers.com 
})(navigator.userAgent || navigator.vendor || window.opera, 
'http://thefullsiteURL.com/mobile/index.html')}; 

請中旬表示,這是我拼湊在一起,我的JS技能是相當新的,所以如果任何人有一個更優雅的解決方案,我就是爲了它。

回答

6

在完整站點鏈接中將會話cookie與查詢字符串值一起設置。然後,讓您的移動檢測代碼先檢查cookie值,然後檢查查詢字符串,最後檢查用戶代理移動。

所以,你的整個網站的鏈接應該是這樣的查詢字符串觸發:

<a href='http://mysite.com?fullsite=true'>Link to full site</a> 

,然後在移動偵測:

;(function(a,b) { 

    if (document.cookie.indexOf('fullsite') > -1) { 
     return; // skip redirect 
    } 
    if (location.search.indexOf('fullsite') > -1) { 
     document.cookie = 'fullsite=true; path=/;' 
     return; // skip redirect 
    } 
    if (/mobile regex conditional goes here/) { 
     window.location = b; 
    } 
})(navigator.userAgent || navigator.vendor || window.opera, 'http://thefullsiteURL.com/mobile/index.html') 
+0

感謝您的信息!我試圖將它們放在一起,但我不確定會導致錯誤。我有這個小提琴: http://jsfiddle.net/ultraloveninja/8KYC5/1/ – ultraloveninja

+1

我原來的答案只是勾勒出邏輯。爲了完成它,我已經更新了它,你現在應該可以把它放進去。** N.B。**你需要在最後一個if語句中粘貼條件化的lenghty mobile detect regex。 – chelmerich

相關問題