我正在使用Chrome扩展程序,我正在努力添加Plotly功能。我的扩展程序结构如下:
的manifest.json
{
"manifest_version": 2,
"name": "Data Hub",
"description": "This extension gathers and analyzes data from several servers",
"version": "1.0",
"browser_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"background": {
"page": "background.html"
}
}
Popup.html 和 Popup.js
单击弹出图标时打开Background.html。
Work.js
制作AJAX请求,处理数据并更新Background.html。
Background.html
Work.js更新的HTML页面,Work.js收集新数据。
我的问题是Work.js需要在Plotly.js中定义的函数。我已经尝试了我在Work.js中包含Plotly.js的每种方法。但我认为问题出在Plotly.js和Chrome的安全政策中。
如果我将Plotly.js中的代码复制并粘贴到Work.js中,Chrome会说:
work.js:formatted:51456 Uncaught EvalError:拒绝将字符串评估为JavaScript,因为'unsafe-eval'不是以下内容安全策略指令中允许的脚本源:“script-src'self'blob: filesystem:chrome-extension-resource:“。
我尝试过将Plotly.js附加到Work.js的其他方法,Chrome通常会显示一个错误,即Plotly.js中定义的函数和Work.js中调用的函数未定义。我还认为复制代码是最直接的方式。
如何让Work.js访问Plotly.js中的函数,以便Work.js可以修改Background.html?