[英]JavaScript ignore missing DOM element/event
我正在開發一個新的應用程序,其中不同的頁面具有不同的DOM元素,例如Map page
具有特定於地圖的元素,而Message page
具有特定於消息的信息。 為了減少請求數量,我將所有腳本組合到一個文件中,並放入頁腳。
但是問題是,當我在“ Map Page
,僅在“ Message page
上存在的缺少元素出現錯誤,我相信我很容易錯過一些東西,但我無法弄清楚。
如果您不希望腳本停止運行,則可以使用try and catch。
即
try{ var test = document.getElementById("someelementthatdontexsist"); alert(test.innerHTML); } catch(err){};
因此,正如Esko建議的那樣,您需要使用“ if”來檢查您是否在正確的頁面上運行適當的代碼。
樣品:
var PageName = document.getElementsByTagName('body'); document.getElementById("check_button").addEventListener('click', function () { if (PageName[0].getAttribute('id') == "map_page") { //do map_page things document.getElementById("page_name").innerText = PageName[0].getAttribute('id'); } if (PageName[0].getAttribute('id') == "message_page") { //do message_page things document.getElementById("page_name").innerText = PageName[0].getAttribute('id'); } });
<body id="map_page"> <button id="check_button">Check page</button> <span id="page_name">test </span> </body>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.