原因:使用Chrome扩展中的反应
代码:
var files = [
{element: 'script', parameters: {src: chrome.extension.getURL("ui/react.min.js")}},
{element: 'script', parameters: {src: chrome.extension.getURL("ui/react-dom.min.js")}},
{element: 'script', parameters: {src: chrome.extension.getURL("ui/popup.js")}},
]
for(var i=0; i < files.length; i++){
file = files[i]
var e = document.createElement(file.element);
for(var j in file.parameters){
param = file.parameters[j];
console.log(param)
e[j] = param;
}
document.head.appendChild(e);
}
结果:文件注入成功,但是当我尝试在popup.js中使用它时出现错误(Uncaught ReferenceError:React未定义)
答案 0 :(得分:0)
脚本不是同步注入的。考虑使用像webpack这样的东西,将它们捆绑成一个开箱即用的依赖管理(我们生活在2015年,毕竟:))
见 document.createElement("script") synchronously
作为参考