繁体   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