【发布时间】:2013-07-24 17:58:14
【问题描述】:
我有一个网站 (www.website.com) 和一个移动网站 (m.website.com),如果用户想从移动设备上“查看完整网站”,我会尝试让他们“查看完整网站”。目前我正在使用一些 Javascript 来检查整个站点上的屏幕宽度,然后重定向到移动设备。
if (screen.width <= 699) {
document.location = "http://m.website.com";
}
这很好用。在移动网站上有一个“查看完整网站”按钮。当您单击它时,它会将您重定向到我的脚本“force_desktop.php”,该脚本会设置一个 cookie,然后将您发送到主站点。
<?php
setcookie("force_desktop", "1");
header("Location: http://www.mywebsite.com");
?>
现在我们设置了一个 cookie 并重定向到主网站,我们需要检查 cookie 而不是只检查屏幕宽度。
逻辑
如果找到 Cookie force_desktop
然后退出
其他
运行屏幕尺寸测试
这是我尝试使用但不起作用的代码。此代码放置在我的 head.php 文件中,该文件将在每个页面上运行,并放置在脚本开始和结束标记之间。
尝试 1
if($_COOKIE['force_desktop'] == '1' {
exit;
} else if($_COOKIE['force_desktop'] != '1' {
if (screen.width <= 699) {
document.location = "http://m.website.com";
}
};
尝试 2
if(isset ($_COOKIE["force_desktop"])){
exit;
else
if (screen.width <= 699) {
document.location = "http://m.mywebsite.com";
};
可行的替代逻辑
如果 Cookie force_desktop 未找到且 screen.width
然后重定向到 m.myseite.com
其他
退出
注意
我已经运行了以下脚本来确保放置了一个 cookie,并且确实是。
<?php
print_r($_COOKIE);
?>
我的想法已经用完了,并且知道我的编码不正确,尤其是 If/Else 语句中的 If/Else 语句。我也不确定是否最好使用“isset”来查看是否正在使用 cookie 或 ($_COOKIES['variable'] == "#")。我非常感谢您对此提供一些好的反馈。
提前感谢您的帮助和建议,
马特
【问题讨论】:
标签: php javascript redirect