移动重定向,但不是来自移动网站

时间:2015-02-12 01:16:11

标签: javascript

我有这个脚本,它工作正常。我在桌面页面上有它,当用户输入它时,他们会有一个问题被重定向到移动页面,这很好用。但是我在移动页面上有一个返回桌面页面的链接,但是当点击此链接并且用户进入桌面页面时,他们将再次获得quetsion。所以我的问题是。有没有办法让桌面页面知道用户点击了移动页面中的链接,如果是这样,不再显示问题? 谢谢。

我现在的代码:

<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>

1 个答案:

答案 0 :(得分: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>