You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

设备离线时禁用指定JavaScript函数并弹出警告的实现方法

设备离线时禁用指定JavaScript函数并弹出警告的实现方法

嘿,这需求很好解决!我们可以利用浏览器原生的网络状态检测能力,轻松实现设备离线时禁用广告函数并弹出警告的效果,我给你梳理下具体的实现方案:

核心实现逻辑

我们主要借助浏览器提供的navigator.onLine API来判断设备的网络状态,它会返回一个布尔值——true代表在线,false代表离线。基于这个状态我们就能精准控制广告函数的执行逻辑了。

修改后的完整代码

// 先判断设备当前的网络状态
if (!navigator.onLine) {
    // 离线时弹出警告提示用户
    alert("当前设备处于离线状态,无法加载广告!");
} else {
    // 仅在线状态下,才执行原有的广告类型判断与函数调用
    if (adType === Sdkmanager.AD_REWARDED) {
        Website2APK.showInterstitialAd();
    }
}

代码细节说明

  • 第一步通过!navigator.onLine判断设备是否离线,若是则直接弹出警告,完全跳过广告函数的调用流程;
  • 只有当设备处于在线状态时,才会进入你原本的广告类型判断逻辑,调用广告展示函数;
  • 如果你觉得原生alert的样式太基础,也可以直接替换成项目里自定义的弹窗组件,核心逻辑保持不变就行。

额外优化:监听网络状态动态变化

如果想在用户使用过程中,网络状态突然切换时也给出提示,可以添加下面的事件监听:

// 监听网络断开事件
window.addEventListener('offline', () => {
    alert("网络连接已断开,广告等在线功能将无法正常使用!");
});

// 监听网络恢复事件
window.addEventListener('online', () => {
    alert("网络连接已恢复,所有功能可正常使用啦!");
});

这样不管是页面初始加载时的网络状态,还是使用过程中的状态变化,都能给用户清晰的提示,同时严格保证离线时不会触发广告相关的函数。

备注:内容来源于stack exchange,提问作者Adnan Erkmen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.14 12:23:01