脚本 JavaScript 宽度忽略了 iPhone 6.为什么

Script javascript width ignored iPhone 6. Why?

本文关键字:iPhone 为什么 JavaScript 脚本      更新时间:2023-09-26

当我尝试在宽度条件下(至少在 iPhone6 上)更改其行为时,我遇到了一个随机化 2 个数组代码的脚本问题。基本上,我想交替 2 个广告...但是当屏幕小于 850 像素时,我只想显示一个

<script>
    function random_ad(){
        var ads = [];
        //1st Ad
        ads[0] = 'iframe code';
        //2nd Ad
        ads[1] = 'a-img code';
        var screenWidth = window.innerWidth;
        if (screenWidth < 850) {
            //Ads[0] = ads[1]
            ads[0] = '2nd ad code';
        }
        var ry = Math.floor(Math.random()*ads.length);
        document.write(ads[ry]);
    }
    random_ad();
</script>`

当然,我可以用其他方式组织这段代码,但看起来问题是iPhone6设备(至少)忽略了这个条件:if(screenWidth <850)。

有什么线索吗?

您是否尝试过比较像素密度?
iPhone重新缩放了它的屏幕,所以你需要更精确(至少它必须是像css一样):

if (screenWidth < 850 && window.devicePixelRatio == 2) {}