无法在iOS上显示不同的内容

问题描述 投票:0回答:1

[两天后,我发疯了,因为我无法解决这个问题。我的问题如下:1.)我正在尝试使用针对iOS设备的JavaScript(无论浏览器是Apple上的Chrome,Apple上的Safari,Firefox还是其他),以显示与非iOS浏览器相对应的DOM元素。2.)我的iOS检测代码如下,在其他多个线程中也见过://检测设备是否在iOS上

const isIos = () => {
        const userAgent = window.navigator.userAgent.toLowerCase();
        return /iphone|ipad|ipod/.test( userAgent );
    }

3。)运行此检查之后,我在iOS上的Safari和Chrome中都尝试以下操作“我认为这是不正确的,因为它无法正常工作!” :

if(!isIos()) {
                setTimeout(function() {
                    console.log('showing non iOS banner prompt after delay');
                }, 10000);
            } else if (isIos()) {
                setTimeout(function() {
                    console.log('showing iOS banner prompt after delay');
                }, 10000);
            }

4。)选择iOS设备(我知道这不是实际的iOS环境)时,通过Windows笔记本电脑上的chrome开发工具可以显示正确的日志,但是无论我做什么,一旦加载到实时站点,它总是在我的iPad上显示非Ios日志。

ios browser detection
1个回答
0
投票

已解决(对于iPAD)找到该帖子enter link description here后,我更改了检测方法。我正在iPAD上进行测试(因为我不是风扇,所以这是我拥有的唯一Apple产品),经过更正后,当前问题得以解决。我希望这也可以在其他设备上使用,但是直到我借用朋友的设备后才知道。希望其他人对此有帮助。

||
(navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1)

const isIos = () => {
        const userAgent = window.navigator.userAgent.toLowerCase();
        return /iphone|ipad|ipod/.test( userAgent ) || (navigator.platform === 'MacIntel' && navigator.maxTouchPoints > 1);
    }
© www.soinside.com 2019 - 2024. All rights reserved.