gpt4 book ai didi

javascript - 强制 "visit full site"链接始终显示完整站点

转载 作者:行者123 更新时间:2023-11-28 08:52:29 26 4
gpt4 key购买 nike

这是我的代码。有人在 PHP 重定向方面遇到问题,所以我只是通过其中的一个 JS 并注释掉了另一个。

因此,当我使用手机 (WP8) 时,如果我打开了“首选移动网站”,即使使用下面的代码,我也会卡在移动网站“m.smsalem.com”上。但是,如果我将其更改为“首选桌面网站”,我会首先访问移动网站,可以单击“访问完整网站”,然后可以查看常规网站。

您知道我还能做些什么来强制那些设置了“首选移动网站”的人在点击该链接后访问常规网站吗?

<?php
include 'http://smsalem.com/Mobile_Detect.php';
$detect = new Mobile_Detect();

if(strpos($_SERVER['HTTP_REFERER'], 'm.smsalem.com')){
setcookie("noMobile", true, time()+86400); /* expire in 1 hour */
}

if ($detect->isMobile()) {
if(!isset($_COOKIE['noMobile'])){
?>
<script type="text/javascript">
if (screen.width <= 700) {
window.location = "http://m.smsalem.com";
}
</script>
<?php
//header('Location: m.smsalem.com');
//exit(0);
}
} ?>

最佳答案

正如 Marc B 已经提到的,您设置的 cookie 在您刷新之前不可用。如果您只将 cookie 设置为一小时,那么为什么不使用直接可用的 SESSION

您的代码将如下所示:

<?php
include 'http://smsalem.com/Mobile_Detect.php';
$detect = new Mobile_Detect();

if(strpos($_SERVER['HTTP_REFERER'], 'm.smsalem.com')){
$_SESSION["noMobile"] = true;
}

if ($detect->isMobile()) {
if(!isset($_SESSION["noMobile"])){
?>
<script type="text/javascript">
if (screen.width <= 700) {
window.location = "http://m.smsalem.com";
}
</script>
<?php
//header('Location: m.smsalem.com');
//exit(0);
}
} ?>

我个人会使用 PHP header() 来重定向用户。但是这样您将无法在重定向之前检查屏幕宽度。

关于javascript - 强制 "visit full site"链接始终显示完整站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18991725/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com