我把它添加到我的页面的头部:
<script type="text/javascript">
if (screen.width <= 800) {
window.location = "http://m.domain.com";
}
</script>
我的移动版本上有一个名为“主站点”的按钮。 我希望按钮转到我的主站点,但不会重定向回我的移动网站。我该怎么做?
另外,我只想让他们去那里一次。因此,下次他们输入我的网站名称时,我希望它将它们带到移动网站
答案 0 :(得分:2)
如果您已有按钮进入主站点。只需将主站点链接到该按钮即可。你可以做的额外的是,使用url参数来检查并强制主布局。像
这样的东西<a href="http://www.domain.com?forcelayout=main">Main site</a>
如果要强制使用主布局,请检查此参数。否则,当前使用的脚本将自动执行您想要执行的操作。
使用以下函数读取查询字符串。 [Source]
function getParameterByName(name) {
var match = RegExp('[?&]' + name + '=([^&]*)')
.exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
接下来,您可以在逻辑中使用它,如下所示:
if (screen.width <= 800 && getParameterByName('forceLayout') != 'main') {
window.location = "http://m.domain.com";
}
答案 1 :(得分:1)
您可以检查document.referrer
<script type="text/javascript">
if (screen.width <= 800 && document.referrer.indexOf('http://m.domain.com') != 0) {
window.location = "http://m.domain.com";
}
</script>
答案 2 :(得分:1)
当有人点击您的&#34;主网站&#34;按钮,在重定向到主站点之前,创建一个&#34; MobilOptOut&#34; cookie,然后在screen.width if语句中测试该cookie的存在。
答案 3 :(得分:0)
客户端需要管理用户想要查看的当前视图的状态。由于HTTP是无状态协议,因此您可以使用cookie来保持用户在HTTP请求中的选择。
当用户单击按钮以显示主版本时,请删除cookie作为click事件的一部分。同样,当用户想要查看移动版本时,将cookie设置为所需的值。由于有许多方法可以使用可能依赖于库的JavaScript来操作cookie,因此下面是您的页面应该执行的伪代码。
// Pseudocode:
// Sets a cookie named "view" with the value "mobile"
function setMobileView() {
Cookie.set("view", "mobile");
}
mobileViewButton.onclick = setMobileView;
// Deletes the cookie named "view"
function setMainView() {
Cookie.delete("view");
}
mainViewButton.onclick = setMainView;
以下是重定向逻辑的伪代码:
// Pseudocode for deciding the view to display
if (view === "mobile") {
location.href = "http://m.domain.com";
}