• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

iOS 7.1.1 Safari 浏览器搞乱在线/离线状态

[复制链接]
菜鸟教程小白 发表于 2022-12-12 22:16:27 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我有一个跨浏览器在线/离线测试,用于设计在多个浏览器上运行的网页。 它适用于免费指标:

  • 窗口上的事件监听器
  • document.body 上的事件监听器
  • navigator.onLine 变量的轮询

http://jsfiddle.net/3mMfG/

window.addEventListener("online", function() {
    document.getElementById('test1').innerHTML = "online";
}, false);

window.addEventListener("offline", function() {
    document.getElementById('test1').innerHTML = "OFFLINE";
}, false);


document.body.ononline = function() {
    document.getElementById('test2').innerHTML = "online";
};
document.body.onoffline = function() {
    document.getElementById('test2').innerHTML = "OFFLINE";
};


setInterval(function () {
    if (navigator && navigator.onLine) 
        document.getElementById('test3').innerHTML = "online";
    else
        document.getElementById('test3').innerHTML = "OFFLINE";
}, 500);

我在多个 iOS、Android 或笔记本电脑浏览器上成功使用了这段代码。

在特定的 iOS 7.1.1 设备上它不起作用。我已经成功地在其他 iOS 7.1.1 设备上对其进行了测试,但是在这个特定的设备上,当离线时,几秒钟 (~5) 后,所有指标都恢复为“在线”。

我已经在多台设备上进行了测试,但只能在这个特定的设备上重现问题。我使用“飞行保存模式”按钮将其设为离线,不允许使用 wifi 或蓝牙,但几秒钟后,浏览器中触发在线事件,并且 navigator.onLine 变量变为 true...奇怪...

如果您对发生的事情有任何线索,我将很高兴与您交流。

如果您使用 您的 设备测试该页面,请随时发表评论,让我知道它是否适用于 您的 设备。谢谢



Best Answer-推荐答案


在 iOS 设置应用程序中重置网络设置更正了此行为...

关于iOS 7.1.1 Safari 浏览器搞乱在线/离线状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23612955/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap