2012-01-02 93 views
4

我有一個CV /簡歷的網站,當用戶訪問我的網站和屏幕分辨率低於960我重定向他到我的移動網站,通過這個JS移動到正常的網站重定向

<script type="text/javascript">if (screen.width <= 960) {document.location = mobile.html";}</script> 

我的問題是如果用戶想要訪問正常站點並點擊鏈接,則javascript將再次運行,並將用戶重定向到移動站點。解決這個問題的一種方法可能是複製正常的站點,讓我們說index.html和index1.html用上面的代碼和沒有JS的一個,但我認爲這個解決方案太不好用了。任何方式來解決這個問題?在您回答之前請注意,我無法訪問.htaccess文件。

我的問題是,當一個用戶訪問我的網站scree寬度低於960去到移動網站,但如果他想看到整個網站按鏈接,並獲得重定向到整個網站,無論屏幕寬度。

+0

,檢查是否存在cookie存在,如果是這樣,請不要在移動網站上重定向用戶希望重定向到「正常」網站時,在重定向之前創建cookie。 – ComputerSaysNo 2012-01-02 00:25:06

回答

5

這裏有一個小碼片段。當從移動到普通用戶的變化,運行下面的代碼:

var expires = new Date(); 
expires.setHours(expires.getHours + 24); 

document.cookie = (document.cookie ? document.cookie + ' ;' : '') 
    + ' disableMobile=1; expires=' + expires.toGMTString(); 

,然後更改您的重定向條件

if (screen.width <= 960 && document.cookie.indexOf('disableMobile') < 0) [...] 
當用戶點擊「正常」的網站
3

兩種方式浮現在腦海中:

  1. 使用Cookie,從而使用戶的喜好留在完整的網站將被銘記。在重定向之前創建/設置Cookie。
  2. 使用查詢參數<a href="index.html?fullsite=true">Full site</a>(或類似的),您只在從mobile.html鏈接回到正常站點設置。

然後爲您的現有屏幕寬度測試添加一個條件,以便只在未設置cookie /查詢參數時才運行。

(您可能還喜歡加入您的主索引頁上額外的鏈接,讓用戶選擇移動版本。很明顯,如果你去的餅乾路線本應清除的cookie。)

+0

我想我會與第二將我必須使用PHP或它是可能的與JS和如果它與JS的posible你能鏈接我的例子嗎?在此先感謝! – Sonamor 2012-01-02 00:54:25

+0

那麼移動頁面上的鏈接就像我的答案一樣。在主索引頁面上,您可以使用PHP來測試該請求參數,或者您可以使用JS來測試[window.location.search](https://developer.mozilla.org/en/DOM/window.location)以看看它是否包含該參數。對不起,我正在用手機寫這篇文章,所以很難寫出正確的代碼,但是在前面的句子中我要鏈接的MDN頁面上應該有足夠的信息。 – nnnnnn 2012-01-02 02:27:56