我寫過一個網絡應用程序,它使用側面的廣告橫幅來支持免費帳戶。問題是,由於廣告被加載到自己的<div>中,所以在任何現代瀏覽器中進入開發人員/調試控制檯都相對容易,並且可以使用CSS覆蓋刪除div或將廣告大小調整爲0px(用戶可能會這樣做在應用程序工作區中獲得更多房地產)。爲了防止這種情況發生,我正在考慮定期檢查包含廣告的div的屬性(包括CSS樣式)是否發生變化,以及是否重新加載頁面。由於我依賴於某個繪圖的畫布元素,重新加載對用戶來說會相當惱人,因爲它會清除畫布,所以除非廣告被篡改,否則我不想這樣做。檢測用戶篡改DOM
我見過一些跟蹤DOM變化的類似問題,那裏的人們建議使用突變事件。然而,根據這些答案,似乎並不是所有瀏覽器都支持這種支持(然後我再次看到的線索是2008年和2009年的,因此從那時起事情可能會發生變化)。
我正在考慮的另一種替代方法是在頁面完成加載後,在廣告的div的offsetWidth,offsetHeight,offsetTop,offsetLeft中進行讀取,並且持續地將它們與當前值進行比較(沒有太多可以做的事情如果你不能移動div,就會讓div消失)。
你們有什麼建議?
如果你不能篡改DOM,Web開發將不會變得有趣。 – mrk 2011-06-15 03:55:31
如果用戶可能會這樣做以獲得更多房地產,您是否可以阻止(修復可用區域的寬度)來消除該原因? – 2011-06-15 04:05:19
謝謝@Don,這就是我最終做的。如果廣告在那裏,我有幾個div可以調整大小,所以即使用戶刪除了廣告,也不會有任何好處,除非js代碼被修改,或者用戶修改了多個其他div,並且不會事後調整窗口大小。雖然其他人提出了非常有效的觀點,但我不同意他們已經回答了這個問題。如果我StackOverflow讓我接受評論作爲解決方案,我會接受你的評論:) – 2011-06-15 19:03:57