2014-02-10 107 views
0

有沒有一種方法可以保護元素免於從樹上移除,無論是通過JavaScript甚至是瀏覽器開發工具?使DOM元素「不可刪除」?

或者至少,趕上事件並重新創建它?

+1

以跨瀏覽器的方式不可能/不可能。也許你可以更詳細地解決問題/環境。 – user2864740

回答

2

您不能使DOM元素不可刪除。

關於您所能做的就是定期檢查(在各種事件或計時器上)以查看DOM元素是否仍然存在。在一些現代瀏覽器中,當部分DOM發生更改時,您可以收到通知(請參閱MutationObserver)。

如果你解釋一下你真正想要完成的事情,我們可以給你解決你的問題的其他想法。

但是,您應該知道您無法以任何方式控制網頁中發生的事情。您的腳本可以修改。您的HTML可以被修改。即使你運行了一個計時器來測試某些東西,或者有一些代碼在DOM改變的時候被通知(這在一些現代瀏覽器中是可能的),人們可以簡單地禁用或替換代碼。如果你試圖保證某些東西總是發送到你的服務器,或者這些數據在發送到服務器時處於特定的形式,那麼安全地實現該邏輯的唯一地方就是在服務器本身。您必須通過驗證服務器上的所有傳入數據並拒絕無效請求來保護服務器。