如何在 iOS 上的 WKWebView 内执行的 Javascript 中接收在线/离线事件?

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

我有一个 iOS 应用程序,它使用 WKWebView 加载本地 HTML/JS 文件,其中包含

online
/
offline
事件侦听器,但当用户丢失/重新获得连接时它们不会被触发。相同的 HTML/JS 适用于 Android。

offline
事件 - https://developer.mozilla.org/en-US/docs/Web/API/Window/offline_event
online
事件 - https://developer.mozilla.org/en-US/docs/Web/API/Window/online_event

我需要配置一些特定的东西才能触发这些事件吗?

window.addEventListener('online', () => {
    console.log('Regained internet connection');
});

window.addEventListener('offline', () => {
    console.log('Lost internet connection');
});
javascript ios swift wkwebview
1个回答
1
投票

找到了为我解决问题的方法。我必须等待页面加载,然后才能附加事件侦听器,如下所示,而不是在脚本执行后立即添加它们。

window.addEventListener('load', async () => {
    window.addEventListener('online', () => {
        console.log('Regained internet connection');
    });
    window.addEventListener('offline', () => {
        console.log('Lost internet connection');
    });
});
© www.soinside.com 2019 - 2024. All rights reserved.