2015-02-12 128 views
0

我有這個腳本,它工作正常。我把它放在桌面頁面上,當用戶輸入時,他們會得到一個問題重定向到移動頁面,這很好。但是我在移動頁面上有一個返回到桌面頁面的鏈接,但是當點擊此鏈接並且用戶進入桌面頁面時,他們將再次獲得quatsion。所以我的問題是。有沒有辦法讓桌面頁面知道用戶點擊了移動頁面中的鏈接,如果是這樣,不要再次顯示問題? 謝謝。手機重定向,但不是從移動網站來時

的代碼,我現在:

<script type="text/javascript"> 
var isMobile = (/iphone|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent) && confirm('Realy?')); 
if (isMobile) 
{ 
    location.replace("mobile_site.html"); 
} 
</script> 

所以我也有這樣的代碼。任何人都知道如何結合我的第一個腳本與這個?謝謝。

<script> 
if(/Android|webOS|iPhone|iPod|BlackBerry|IEMobile/i.test(navigator.userAgent) && 
    !window.location.href.contains("#redirected")) { 
window.location = "my_mobile_page.html"; 
} 
</script> 
+0

只需檢查引薦來源不是您的移動網頁 - 如果訪問者通過您的移動網頁來到您的桌面頁面,請勿重新引導。 – sideroxylon 2015-02-12 01:21:13

+0

不要標題解決,選擇一個答案。 – vol7ron 2015-02-14 18:23:35

+0

sideroxylon - 如果用戶手動切換,則不起作用,然後單擊鏈接。 – Katana314 2015-02-14 18:31:36

回答

0

這應該做到這一點 - 只有重新定向到您的移動網站,如果用戶設備isMobile,如果用戶不只是從移動網站鏈接:

<script type="text/javascript"> 
    var referrer = document.referrer; 
    var isMobile = (/iphone|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent) && confirm('Realy?')); 
    if (isMobile && referrer != 'mobile_site.html') 
    { 
    location.replace("mobile_site.html"); 
    } 
</script> 

編輯:修改後的代碼,以刪除確認。如果用戶的設備是移動設備,並且推薦人不是移動網站,則會顯示確認提示。如果用戶接受它,重定向將被觸發。如果用戶從移動網站返回,則不會顯示確認。

<script type="text/javascript"> 
     var referrer = document.referrer; 
     if (/iphone|ipod|android|blackberry|mini|windows\sce|palm/i.test(navigator.userAgent) && referrer != 'mobile_site.html') 
     { 
     var r = confirm("Really"); 
      if (r == true) { 
       location.replace("mobile_site.html"); 
      } else { 
       stop; 
      } 
     } 
    </script> 
+0

謝謝你的回答。我會試試這個。 – 2015-02-13 09:07:08

+0

你好,這工作差不多:)。我仍然有問題:「真的嗎?」當我在手機網站點擊鏈接到桌面頁面。但是,如果我點擊確定,我不會重定向,這是正確的,但我也不會whant問題。 – 2015-02-13 12:36:57

+0

請參閱上面的修改。我認爲這解決了你的問題。對不起,我之前忽略了那部分。 – sideroxylon 2015-02-13 13:23:58

相關問題