从此
📄文章 #️⃣专题 🌐酷站 👨‍💻技术 📺 📱

产品上线检查清单、Web网站/App应用

综合/最新

持续优化Web网站

Web

页面元素载入完成后触发(早于onload事件):
<script> document.addEventListener("DOMContentLoaded", (evt) => { console.log(evt); }); </script>
不存在 onDOMContentLoaded 属性,但有 ononline 等;可省略 event 入参: (/* evt */) => { };
DOMContentLoaded 触发后,保证函数只执行第一次(默认多处多次执行):
// Web Workers 中无法访问,故只会在主线程中进行原子性判断。 if (document.readyState === "loading") { // 此时文档加载尚未完成 document.addEventListener("DOMContentLoaded", once); } else { once(); } // 已错过注册时机,故直接执行。 // 函数会在JS解析时自动提升至作用域顶部,即允许先调用再定义。 function once(evt) { console.log(evt.currentTarget); }
循环执行:
var cbNumber; var cbTimeout = 1000; var cb = () => { // 不可见时循环执行空任务。 if (document.visibilityState === 'visible') { console.log("interval callback - " + new Date()); } }; cbNumber = setInterval(cb, cbTimeout); // 参3为callback入参。 window.addEventListener('beforeunload', () => { if (cbNumber) { clearInterval(cbNumber); } // 关闭页面清除循环任务;无法遍历。 });
富媒体结构化数据: 注 - Google Search 已废弃搜索页嵌入站内搜索框:由 potentialAction 子项 SearchAction 定义。
<script type="application/ld+json"> { "@context": "https://schema.org", "@type": "WebSite", "url": "https://nav.congci.com/", "name": "从此搜索", "alternateName": ["Congci", "congci.com", "从此网"] } </script>

App



其他