我有一個Chrome擴展,以特殊的方式監視瀏覽器,發送一些數據到Web服務器。在當前配置中,這是本地主機。因此,內容腳本包含這樣的代碼:鉻擴展中的訪問控制 - 允許 - 來源錯誤
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function(data)...
xhr.open('GET', url, true);
xhr.send();
其中URL參數是 'http://本地主機/ CTRL PARAMS?'(或http://127.0.0.1/ctrl?params - 這並不重要)。
清單文件包含跨站點請求的所有必需權限。
擴展適用於大多數網站很好,但在一個網站上我的錯誤:
XMLHttpRequest cannot load http://localhost/ctrl?params. Origin http://www.thissite.com is not allowed by Access-Control-Allow-Origin.
我已經試過這是這裏提出幾個權限(*://*/*
,http://*/*
和<all_urls>
),但沒有人幫助解決問題。
所以,問題是這個特定網站可能會出現什麼問題(顯然有可能是其他網站有類似的不當行爲,我想知道這種性質),以及如何解決這個錯誤?
你能更具體地說明哪個網站你看到這個錯誤嗎?它可能使用內容安全策略(https://dvcs.w3.org/hg/content-security-policy/raw-file/tip/csp-specification.dev.html)來防止數據被加載。 – 2012-02-05 01:23:45
這裏是網站 - www.wix.com。 – Stan 2012-02-05 08:47:01
Mihai,你是說網站的「內容安全策略」優先於擴展權限?那麼我們怎麼能寫一個可靠的擴展呢?有沒有解決方法? – Stan 2012-02-05 08:50:05