每次都重定向到手机网站
Redirect to mobile website every time
我使用的是我见过的典型的移动网站重定向脚本,效果非常好。我也有一个链接在我的手机网站,让他们查看正常的网站,如果需要的话,这也是有效的。
这是我的场景&问题。他们访问我的手机网站,然后点击链接进入常规网站。然后他们去访问一个完全不同的网站。如果他们再次输入我的网址进入我的网站,它会把他们带到常规网站,而不是移动网站。每次他们访问我的网站时,我都想把他们带到手机上。有更擅长这个的人能帮我吗??谢谢!
这是我在常规网站上的脚本:
<script type="text/javascript">
if (document.location.search.indexOf("skipmobile") >= 0) {
document.cookie = "skipmobile=1";
} else if ((document.location.hostname.match(/'.mobi$/) || screen.width < 699) && document.cookie.indexOf("skipmobile") == -1) {
document.location = "m/";
}
这是我手机网站的链接:
<a href="http://www.mywebsite.com/index.html?skipmobile=1">View Full Website</a>
让我们分析一下你的JavaScript代码。
if (document.location.search.indexOf("skipmobile") >= 0) {
如果URL包含字符串"skipmobile",则条件>= 0
为真。注意,将值设置为什么并不重要。它只是寻找字符串"skipmobile"的存在。当该字符串在URL中时,cookie被设置为document.cookie = "skipmobile=1"
。如果没有找到该字符串,indexOf
将返回-1
。
else if ((document.location.hostname.match(/'.mobi$/) || screen.width < 699) && document.cookie.indexOf("skipmobile") == -1)
让我们把它分成几个部分。首先,||
表示OR, &&
表示and。因此,if document.location.hostname.match(/'.mobi$/)
使用正则表达式从URL中搜索字符串"的主机名。"Mobi"结尾。所以www.yoursite.mobi匹配,但www.yoursite.com不匹配。然后我们有OR条件|| screen.width < 699
。所以如果主机名以"。如果屏幕尺寸的宽度小于"699"像素,则此条件的第一部分将为真。
if语句的下一部分是document.cookie.indexOf("skipmobile") == -1
。这是检查是否存在名为"skipmobile"的cookie。注意-1
。所以它正在检查cookie是否没有设置。
所以把这些放在一起,如果主机名以"结尾。mobi" 或屏幕宽度小于"699"像素和 cookie "skipmobile"没有设置,然后将浏览器引导到移动站点,"m/",使用此代码document.location = "m/"
。
看起来代码正在检查cookie以确定移动或完整站点。因此,当他们离开并再次访问您的网站时,它会"记住"设置。
在设置cookie时-特别是不要设置有效期。这通常被称为"会话cookie"。当浏览器关闭时,cookie将自动过期。
或者更好的是…
很简单,就是不要设置cookie。我在代码中没有看到cookie实际存在的任何地方……只有没有cookie才重要。
此外,如果你不设置cookie…永远不会有饼干。为什么要浪费代码去寻找它呢?
试试这个…
<script type="text/javascript">
if (document.location.search.indexOf("skipmobile") >= 0)
{
document.location = "m/";
} else if ((document.location.hostname.match(/'.mobi$/) || screen.width < 699))
{
document.location = "m/";
}
</script>
- 从手机中选择多个图像'使用phonegap的多媒体资料
- 如何使用手机浏览器上的按钮拨打USSD代码
- 是否可以在系统/电脑浏览器中访问手机摄像头
- Jquerymobile手机.变更页转换:someVariable
- 手机摄像头没有'不起作用
- 如何在java脚本中验证手机号码
- 正在检测html5手机中的抖动
- GCM推送通知,如果应用程序在手机中关闭(Phonegap Android)
- 当屏幕键盘出现在手机中时,窗体会隐藏起来
- Skrollr js没有在手机中向下滚动
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- Ionic应用程序无法识别android手机中的语音
- JQuery手机.网站上只有一个https页面
- 正在检测智能手机浏览器上的悬停或鼠标悬停
- Jquery手机单页app+视频+动态变化视频
- Safari手机文本输入问题
- 按钮点击不适用于手机
- plupload智能手机和平板电脑浏览按钮事件未启动
- 如何在不创建用户帐户的情况下,允许每人(电脑/手机)在网站上的1篇帖子上只投1票
- 如何在根据窗口宽度/高度自动调整大小的网站中使用手机/手机键盘