這篇文章主要介紹了禁用JavaScript控制台調試的方法,需要的朋友可以參考下
有幾個巨頭公司,即Facebook和Netflix,決定禁止用戶在控制台(console)執行JavaScript命令。 最初這是 由Facebook開始的 ,用於防止惡意用戶通過JavaScript控制台執行特定的命令散播消息(發送給所有Facebook用戶大量垃圾信息)。 當然這受到很多指責,但在我參與之前, 他們使用的代碼 如下所示: 代碼如下: // 看起來 Netflix 似乎是唯 Facebook 馬首是瞻 [https://news.ycombinator.com/item?id=7222129]. (function() { try { var $_console$$ = console; Object.defineProperty(window, "console", { get: function() { if ($_console$$._commandLineAPI) throw "抱歉, 為了用戶安全, 本網站已禁用console腳本功能"; return $_console$$ }, set: function($val$$) { $_console$$ = $val$$ } }) } catch ($ignore$$) { } })(); 雖然我人微言輕,但實際上我認為這種做法是合法的。從他們的角度來看,如果暫時禁用控制台有助於防止一個問題,那就不得不這樣做。 但從長遠來看,這真的不是一個好主意;其目標可能只是想要屏蔽依賴他們的目標用戶。 無論如何,如果你想防止控制台執行腳本,這段代碼看起來效果不錯,也的確如此。