Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/371.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我可以在我的Chrome扩展中包含CryptoJS文件吗?_Javascript_Google Chrome_Google Chrome Extension_Cryptojs - Fatal编程技术网

Javascript 我可以在我的Chrome扩展中包含CryptoJS文件吗?

Javascript 我可以在我的Chrome扩展中包含CryptoJS文件吗?,javascript,google-chrome,google-chrome-extension,cryptojs,Javascript,Google Chrome,Google Chrome Extension,Cryptojs,我正在开发一个Chrome扩展,它几乎完成了。不过,它使用CryptoJS,我想知道在发布扩展包时是否可以将这些文件(例如sha1.js)放在扩展包中(我下载了CryptoJS并将SHA脚本文件复制到扩展目录中) 当然,另一种选择是将URL包含在脚本标记中,但这并不能立即起作用 任何帮助都将不胜感激。我已经这样做了,但只在我的开发机器上进行了测试,没有发布到Chrome网络商店。您只需将其包含在manifest.json文件中: { ... "background": {

我正在开发一个Chrome扩展,它几乎完成了。不过,它使用CryptoJS,我想知道在发布扩展包时是否可以将这些文件(例如sha1.js)放在扩展包中(我下载了CryptoJS并将SHA脚本文件复制到扩展目录中)

当然,另一种选择是将URL包含在脚本标记中,但这并不能立即起作用


任何帮助都将不胜感激。

我已经这样做了,但只在我的开发机器上进行了测试,没有发布到Chrome网络商店。您只需将其包含在manifest.json文件中:

{
...
    "background": {
        "scripts": [
            "cryptojs.js",
            "main.js"]
}
...
}

有利有弊。大部分是专业人士

  • 本地文件的加载速度更快—磁盘延迟低于网络延迟
  • 本地文件将确保您的扩展在脱机/连接不良的情况下工作
  • 在CDN出现问题时,本地文件更可靠
  • 本地文件享有额外的保护(至少在Windows/Mac平台上),因为CWS将为所有文件生成校验和,并且如果文件被篡改,商店安装的扩展名将停止加载
  • 本地文件不受网络MITM攻击
  • 本地文件在特定版本下被冻结-您不必冒库更新和破坏兼容性的风险
  • 在主扩展代码(而不是内容脚本)中使用外部代码需要一个支持HTTPS的CDN(出于MITM攻击原因)
  • 在内容脚本中使用外部代码可能需要额外的权限(取决于CDN的CORS配置)
但是,由您来更新库

  • 如果库中存在严重的bug/漏洞,则CDN服务的文件(如果它指向“最新”版本)可以进行静默更新以缓解此问题。对于本地文件,您需要了解更新并自己应用
  • 如果不将新版本发布到CWS,则无法更新本地文件。外部托管的文件可以独立更新

你所说的ok是什么意思?合法地?从技术上讲你遇到了什么问题?我问的是法律问题。对不起,这不够清楚。所以不做“法律”。阅读许可证,如果你还不确定,找个律师。谢谢你,我真的不想考虑性能因素。但是从法律上讲,在扩展包中包含CryptoJS文件可以吗?在发布扩展之前,我需要在某处声明什么吗?取决于CryptoJS的许可证和您的程序。