是否可以通過JS檢測用戶在其瀏覽器上安裝了哪些擴展/附加組件?該用例是一個特定的Chrome擴展,自動填充將某些文本值設置爲隱藏的zip字段導致一些驗證失敗,我想向用戶顯示一條消息,指出此擴展可能會產生問題。檢測瀏覽器中安裝的擴展?
回答
NavigatorPlugins.mimeTypes
採取偷看在MDN頁面
希望它可以幫助
對於Firefox:AddonManager.jsm - MDN
Components.utils.import("resource://gre/modules/AddonManager.jsm");
AddonManager.getAllAddons(function(aAddons) {
// Here aAddons is an array of Addon objects
});
// This code will execute before the code inside the callback
必須運行此:在代碼第一個片段代碼在privelaged JavaScript,如不在選項卡中。您可以嘗試specialPowers
,但我不知道它是如何工作的。
要從您的站點運行privelaged腳本,您必須創建一個firefox插件和addEventListener到您的站點,就像列出插件的按鈕一樣,您可以附加一個privelaged函數。
使用插件啓用/禁用插件,但用戶覺得煩人,因爲插件有時會在安裝時執行一些obtrsuvie內容。
這不會幫助我的用例,因爲需要安裝單獨的附加組件。 – zodvik
親愛的@Noitidart,我在index.js中使用你的代碼如下: const {AddonManager} = require(「resource://gre/modules/AddonManager.jsm」); AddonManager.getAllAddons(function(aAddons){//這裏aAddons是一個Addon對象數組 });
然而它不起作用 –
哦,不要求@ H.Aqjn你應該做導入。所以'var {Cu} = require('chrome');'然後做'Cu.import('resoruce://gre/modules/AddonManager.jsm')'那麼它就會工作。 – Noitidart
對於Chrome擴展專門,只有某些擴展可檢測,所以這不是一個很好的方法,但據我所知,沒有任何可靠的方法來檢測瀏覽器擴展。
對於要檢測的擴展名,您需要使用其擴展名及其Web訪問資源。
一些擴展程序具有可訪問的網頁資源,有些不具有網頁訪問資源。如果沒有網頁可訪問的資源,您將無法檢測到該擴展。
要找到網頁可訪問的資源,您需要查看擴展chrome.manifest
文件。它會告訴你是否有網絡可訪問的內容。例如,chrome.manifest
文件可能會說:
內容的Web開發人員的內容/網絡開發/ contentaccessible = YES
一般來說,它不是很有效的去尋找瀏覽器擴展,因爲你必須知道您希望提前檢測哪些擴展程序,以及多次檢測不到它們。
而且,這裏就是我,當我試圖做同樣的事情here
在JavaScript檢查,看是否zip字段已經改變,而它隱藏和顯示警告用戶使用的一個很好的鏈接延期可能會導致問題。
對於Firefox,你可以用Mochitest/SpecialPowersAPI
- 1. Chrome瀏覽器擴展,可檢測第
- 2. 檢測Google Chrome瀏覽器擴展
- 3. 如何檢測安裝在谷歌瀏覽器中的特定擴展程序
- 4. Windows安裝程序來安裝瀏覽器擴展
- 5. 如何從我的程序中安裝瀏覽器擴展
- 6. 檢測瀏覽器中的所有擴展名(Javascript)
- 7. 如何檢測安裝的Chrome擴展
- 8. 檢測Firefox擴展的安裝
- 9. 瀏覽器的基準測試還取決於安裝的擴展的數量?
- 10. 安全瀏覽器Chrome擴展程序
- 11. 如何檢查擴展程序是否安裝在Google Chrome瀏覽器中?
- 12. 對火狐瀏覽器安裝的向後兼容/擴展
- 13. Safari瀏覽器擴展的一鍵安裝
- 14. 如何用C++安裝瀏覽器的擴展?
- 15. 檢測擴展是否安裝Crossrider API
- 16. 檢測是否安裝了Safari擴展
- 17. Safari瀏覽器未檢測到我的擴展證書[MAC]
- 18. Safari瀏覽器未檢測到我的擴展證書
- 19. 如何檢測安裝在系統中的所有瀏覽器?
- 20. JavaScript的檢查,如果瀏覽器擴展安裝了Chrome瀏覽器,Firefox和Opera
- 21. 測試瀏覽器插件的安裝
- 22. 如何在saucelabs上安裝瀏覽器擴展?
- 23. Chrome瀏覽器 - 通知用戶安裝擴展程序
- 24. 從腳本安裝谷歌瀏覽器擴展程序
- 25. 自動化谷歌瀏覽器擴展程序安裝
- 26. 火狐瀏覽器安裝和擴展:獲取用戶輸入
- 27. 谷歌瀏覽器擴展程序安裝了彈出窗口
- 28. 識別是否安裝了谷歌瀏覽器擴展程序
- 29. 是否可以檢查瀏覽器(JS)上是否安裝了擴展?
- 30. 使用瀏覽器擴展檢測打開特定網站
您無法控制用戶如何配置從Javascript他們的瀏覽器去做。這將是一個巨大的安全漏洞。Firefox附加組件可以選擇是否可以通過網絡訪問(可檢測),但這完全取決於附加組件開發者(意味着惡意附加組件顯然將選擇隱藏)。我懷疑這對於Chrome擴展程序來說是相似的。 – user2867288
Chrome中的加載項檢測:http://blog.kotowicz.net/2012/02/intro-to-chrome-addons-hacking.html – user423430