我的网页上有一个重定向脚本,说明如果您的浏览器宽度小于699,则会被重定向到移动页面。
<script type="text/javascript">
if (screen.width <= 699) {
document.location = "http://www.idekraft.se/m/";
}
</script>
现在出现问题 - 在我的移动页面上,我有一个按钮,说“带我到正常的网页”。 由于我的愚蠢屏幕宽度重定向脚本,如果您愿意,您无法访问手机上的“普通”网页。
我的问题是 - 如何解决脚本所以如果你是来自这个地址,也许它会说 www.idekraft.se/m这个剧本不会影响你。
谢谢!
答案 0 :(得分:2)
使用cookies。我更喜欢jQuery cookie plugin。
在您有链接的移动页面上,在链接上的click
事件上放置一个监听器,然后在重定向之前 - 设置一个像$.cookie('interface', 'web');
这样的cookie,然后在设置接口上添加检查完整的网页
if (tyepof $.cookie('interface') != 'undefined' || screen.width < 699) {
// redirect
}
因此,如果有人来到您的完整网站,如果屏幕小于699px,它将被重定向到移动设备,如果他点击移动网站上的“完整版”链接 - 系统会设置cookie并{{ 1}}和你的if语句不会interface = 'web'
重定向用户。
以下是完整的工作示例:
true
:
deskop.php
<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="/js/jquery.cookie.js"></script>
<script type="text/javascript">
var ui = $.cookie('ui');
$(document).ready(function() {
if (ui != 'desktop' && screen.width < 699) {
$.cookie('ui', 'mobile', { expires: 365 });
window.location = '/mobile.php';
}
});
$(document).on('click', 'a#redirect', function(e) {
e.preventDefault();
e.stopPropagation();
$.cookie('ui', 'mobile', { expires: 365 });
window.location = $(this).attr('href');
});
</script>
</head>
<body>
<a href="/mobile.php" id="redirect">Go to the mobile version</a>
</body>
</html>
:
mobile.php
此外,您需要在资源的文档根目录的<html>
<head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script type="text/javascript" src="/js/jquery.cookie.js"></script>
<script type="text/javascript">
var ui = $.cookie('ui');
$(document).ready(function() {
if (ui != 'desktop' && screen.width > 699) {
$.cookie('ui', 'desktop', { expires: 365 });
window.location = '/desktop.php';
}
});
$(document).on('click', 'a#redirect', function(e) {
e.preventDefault();
e.stopPropagation();
$.cookie('ui', 'desktop', { expires: 365 });
window.location = $(this).attr('href');
});
</script>
</head>
<body>
<a href="/desktop.php" id="redirect">Go to the desktop version</a>
</body>
</html>
文件夹中包含jquery.cookie.js
文件。
希望,这就是你所需要的,因为我不知道如何更清楚地描述它......
答案 1 :(得分:0)
当小屏幕设备上的某人想要查看主网站时添加查询字符串,例如
在if语句中,检查m
的值。
伪代码:
if screen width is less than 699 AND m is not equal to zero
redirect
更新:您还可以使用会话或Cookie。恕我直言,查询字符串更好。
答案 2 :(得分:0)
最简单的方法是使用cookie。当用户点击“转到普通网页”时,设置一个cookie:
<button type="button" onclick="document.cookie='mobile=no';history.back()">
Take me to the normal webpage
</button>
在普通页面上,检查是否存在cookie:
if (screen.width <= 699 && !/mobile=no/.test(document.cookie)) {
document.location = "http://www.idekraft.se/m/";
}