繁体   English   中英

仅将移动网站重定向一次

[英]redirect a mobile site only once

Hy,我只想知道粘贴到我网站的“ index.html”上的代码,以便我可以询问Mobiles用户是否要重定向到移动版本或转到台式机版本,但是我没有找到解决方法我发现的代码始终重定向,没有机会转到移动设备上的桌面版本

我无法发布找到的代码,但问题说明了一切

如果这不可能,那么我只想知道一个仅将移动用户重定向到“ ONCE”的代码,谢谢

我没有这方面的专业经验...只是一个初学者

您可以使用Cookies。 例如,当用户选择“桌面版本”时,设置一个Cookie,当用户回来时检查它是否存在。

如何在此处在PHP中设置Cookie( http://www.w3schools.com/php/php_cookies.asp

按照http://www.ezmobilewebsitetools.com/howto-redirect.html上的说明进行操作:

将以下代码粘贴到index.html的<head>部分中

<script>
if ((document.location.hostname.match(/\.mobi$/) || screen.width < 699)
    && (document.cookie.indexOf("skipmobile") == -1 || getCookie("skipmobile") == -1)
{
    document.location = "mobile/"; //change this to location of your mobile site
} else if (document.location.search.indexOf("skipmobile") >= 0) {
    document.cookie = "skipmobile=1";
}

//getCookie function from http://www.w3schools.com/js/js_cookies.asp
function getCookie(c_name) {
    var i,x,y,ARRcookies=document.cookie.split(";");
    for (i=0;i<ARRcookies.length;i++) {
        x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
        y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
        x=x.replace(/^\s+|\s+$/g,"");
        if (x==c_name) {
            return unescape(y);
        }
    }
}
</script>

这将检测用户是否在屏幕宽度小于699像素的设备上,或者用户是否已进入网站的.mobi域(如果有)。 要允许用户返回桌面站点,请在您的移动页面上的某个位置创建链接

<a href="http://www.MyWebsite.com/?skipmobile=1">

这将创建一个cookie,通知该网站要保留在该用户的桌面网站上。 基于相同的逻辑,我相信在桌面站点上放置以下链接将更改此cookie,以允许用户返回到移动站点。

<a href="http://www.MyWebsite.com/?skipmobile=-1">

请注意,我对Cookie不太了解,也没有对此进行测试。 如果有更多知识的人可以验证或纠正第二个链接,我将不胜感激,并且我相信gs2rom也将如此。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM