2014-01-15 144 views
1

根據維基百科中的「瀏覽器插件和擴展豁免」部分:CSP和瀏覽器擴展

CSP不應該與瀏覽器的正常工作插件或由用戶安裝 擴展...

但不幸的是,它阻止外部腳本,由我的插件注入。

我總是可以將這個注入的代碼放入內容腳本中。但我想知道是否有另一種方法來克服這一點。

回答

3

你的確應該把你的代碼放到內容腳本中。如果您將<script>標籤插入到頁面中,那麼它的工作原理與網頁本身插入它完全相同。瀏覽器無法知道此代碼是否屬於您的擴展。更糟糕的是,這些代碼並不安全,不受網頁操縱的影響 - 例如該網頁可以重新定義window.alert()方法,您的代碼將無法顯示消息。另一方面,擴展代碼和內容腳本不受此影響,這些是see only the raw DOM objects without any JavaScript-induced changes