簡體   English   中英

檢測用戶是否安裝了我的Chrome擴展程序?

[英]Detect if user have my Chrome extension installed?

我開始開發非常酷的Chrome擴展程序,但遇到了一個小問題。

我想允許我的用戶共享鏈接。 通過共享此鏈接,其他用戶可以通過我的擴展程序獲得一些信息。

問題是,當用戶單擊共享鏈接時,我想檢查我的瀏覽器是否安裝了我的Chrome擴展程序。 如果可以-很好,否則-我想重定向他以下載我的擴展程序。

有什么想法嗎?

一種可能性是讓您的擴展程序在所有站點*上運行內容腳本,並為document上的click事件添加一個偵聽器。 它將檢查event.target以確保它是一個鏈接並具有特定的前綴,如果存在,則將調用其參數的preventDefault方法並執行其工作。 對於沒有您的擴展名的用戶,該鏈接當然可以像其他任何人一樣工作。

*這會導致Chrome在安裝擴展程序時警告您的潛在用戶; 閱讀權限警告以獲取更多信息。

使擴展名在其加載的每個頁面的DOM中添加一個不可見元素,並用唯一的ID對其進行標記。 當用戶單擊該鏈接時,運行一些JavaScript來檢查該元素-如果該元素不存在,則說明尚未安裝擴展。

我認為您應該能夠在HTTP請求中設置/修改標頭(從Chrome 17開始)。 向請求添加標頭將意味着您可以在服務器端檢測到擴展名的存在。

這是相當不干擾的。 歷史上,許多擴展/插件都修改了User-Agent標頭。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM