[英]Refuse to load JS in Dart
在我的Dart網頁中,該腳本為:
<script src="https://test.net/test/test.js"></script>
但是,當您啟動該應用程序時,它給了我以下錯誤:
拒絕加載腳本“ https://test.net/test/test.js ”,因為它違反了以下內容安全策略指令:“ default-src'self'chrome-extension-resource:”。 請注意,未明確設置“ script-src”,因此將“ default-src”用作備用。
我還將清單中的內容安全策略設置為沒有任何結果:
"content_security_policy": "script-src 'self' https://test.net/test/"
有誰知道如何解決?
編輯
此答案無法在Dart 中的google chrome擴展中加載外部javascript 。
表現:
..."permissions":["tabs","https://test.net/test/"],
"content_security_policy": "script-src 'self' https://test.net/test/; object-src 'self'",
"content_scripts": [
{
"js": ["https://test.net/test/test.js"]
}
]...
碼:
JsObject spark=context['spark'];
print(spark);
spark.callMethod('login',["{username: 'test@email.com', password: 'test'}"]);
結果:
空值
例外:空對象沒有方法'callMethod'。
Dart不動態支持腳本注入:
那么,如何更改內容安全策略?
編輯2
當我安裝應用程序時,Chrome報告此錯誤:
在適用於Chrome的打包應用中,您不能使用"content_scripts"
, "content_security_policy"
和"tabs"
字段。
Dart也不動態支持腳本注入。 如此處所述:
要使用JS代碼,必須將其保存在本地,將其導入到您的html代碼中:
<script src="test.js"></script>
並使用庫dart:js與代碼js進行交互,例如:
test=context['test'];
test.callMethod("login",["var1","var2",...,callback]);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.