簡體   English   中英

拒絕在Dart中加載JS

[英]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.

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