0

好的,所以我使用 cookie 在不同的设备宽度上生成移动内容。基本上,该网站在桌面上看起来是一种方式,并在 800 像素以下的移动设备上显示帖子内容。

除了一个小问题外,一切都运行良好。当我在移动浏览器中切换到桌面视图时,似乎只发生在 iOS safari 和 android HTC Internet 中,cookie 未应用于未生成的内容。我在网上尝试了许多搜索和建议,但没有找到任何东西。任何帮助都会很棒。

头文件中的脚本:

<script type="text/javascript">var mql = window.matchMedia("screen and (max-width: 800px)")
if (mql.matches){ var setCookie = function setCookie(name) {
document.cookie = 'distanceMobile=1; expires=0; path=/';
}
setCookie('distanceMobile');}
else{
// do something else
}</script>

<script type="text/javascript">
var mql = window.matchMedia("screen and (min-width: 801px)")
if (mql.matches){    var delete_cookie = function delete_cookie(name) {
  document.cookie = name +'=; Path=/; Expires=Thu, 01 Jan 1970 00:00:01 GMT;';
}
    delete_cookie('distanceMobile');}
else{
// do something else
}
</script>

用于模板的 PHP:

<?php
// Template Name: Full Width Home
get_header("home");

if ( wp_is_mobile($_COOKIE['distanceMobile']) ) {

    echo '<style scoped> @media screen and (min-width: 801px){
    #content {display: none !important;}
    }</style>';
    get_template_part('custom-home-content');
    //echo "Hello!";

} elseif ($_COOKIE['distanceMobile']) { 

    get_template_part('custom-home-content');
    //echo "Hello!";

} else {
  // do nada
}

get_footer(); ?>

这是我正在处理的网站的链接。如果将浏览器窗口缩小到 800 以下,则必须快速刷新 2 次才能打印内容。否则在设备上访问它只会加载正常。

到目前为止,我再次尝试了多种方法。我尝试剥离所有 matchMedia 并尝试发出警报。单击桌面视图时,它似乎无法在移动浏览器中运行。

问候。

* 更新 PHP 文件以测试是否可以识别移动设备并触发 cookie* 我在移动浏览器的桌面视图中返回 SPM

<?php
// Template Name: Full Width Home
get_header("home");if ( wp_is_mobile() ) {    
    get_template_part('custom-home-content');
   //echo "Hello!";
} 
    elseif ($_COOKIE['distanceMobile']) {    
        get_template_part('custom-home-content');
   //echo "Hello!";
    } 
        else {
 echo "SPM JR.";
}
get_footer(); ?>
4

0 回答 0