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

如何在页面加载失败且已过7秒时触发提示框

页面加载超时提示的正确实现

你原来的代码逻辑完全搞反了——把setTimeout直接赋值给window.onload,会导致页面加载完成后才启动定时器,这和你要的「页面加载失败且超过7秒时提示」的需求完全不符。

正确的思路是:先启动一个7秒的定时器,一旦页面在7秒内加载完成,就立刻清除这个定时器;如果7秒后页面还没加载完成,再触发提示逻辑。

以下是修正后的代码:

// 启动7秒定时器,保存定时器ID
const loadTimeout = setTimeout(function() {
    // 修正字符串引号嵌套的语法错误
    alert("Looks like this page hasn't loaded yet, it could be because your internet connection is slow, or the server is temporarily unavailable.");
    window.location = 'EXPLANATION PAGE';
}, 7000);

// 页面加载完成时,清除定时器(说明加载成功,无需提示)
window.onload = function() {
    clearTimeout(loadTimeout);
};

代码说明

  • 用loadTimeout保存定时器ID,方便页面加载完成后取消计时
  • window.onload事件在页面所有资源加载完成时触发,此时调用clearTimeout终止定时器,避免错误提示
  • 若7秒后页面仍未加载完成,定时器会执行弹出提示并跳转页面的逻辑
  • 修复了原代码中字符串单引号嵌套导致的语法错误(外层用双引号包裹,内部单引号正常使用)

内容的提问来源于stack exchange,提问作者Ali Vidler

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 09:05:17