Javascript 将构造函数从单独的文件加载到Chrome扩展选项页面
我正在制作一个带有选项页面(在我的清单中声明)的Chrome扩展。 我在一个单独的文件中定义了这样一个对象:Javascript 将构造函数从单独的文件加载到Chrome扩展选项页面,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在制作一个带有选项页面(在我的清单中声明)的Chrome扩展。 我在一个单独的文件中定义了这样一个对象: function MyObject() { … } 我使用以下方式“导出”it: window.MyExtension = {}; window.MyExtension.MyObject = MyObject; 然后,我可以在扩展主文件中使用以下方法构造其他对象: new MyExtension.MyObject(); 它很好用 但我想在我的选项页面中使用此对象。我看到脚本
function MyObject() {
…
}
我使用以下方式“导出”it:
window.MyExtension = {};
window.MyExtension.MyObject = MyObject;
然后,我可以在扩展主文件中使用以下方法构造其他对象:
new MyExtension.MyObject();
它很好用
但我想在我的选项页面中使用此对象。我看到脚本没有加载,所以我尝试创建一个脚本标记并将其附加到正文中。执行脚本是因为我可以看到console.log()输出,但我无法在选项页中使用“new MyObject”构造对象。
我怀疑这是因为沙盒或类似的东西,脚本中定义MyObject的窗口对象不应该与我的选项页面中的窗口对象相同
但是我怎样才能得到MyObject的引用呢?然而,我可以复制粘贴我需要的代码,它将工作,但干…我不能相信没有好的方法来做它
希望我能解释清楚。谢谢
cGuille.不要使用
chrome.extension.getURL()
将其包含在内,因为您的选项页位于扩展中。这样做:
<script src="myscript.js"></script>
这应该行得通 如果它包含在
标签中,它应该可以工作:
哦,天哪,你似乎是对的……我觉得很可笑。我真的不明白,因为我认为我必须使用:chrome.extension.getURL(“myscript.js”)。谢谢。这是我在这里的第一篇帖子,是否有解析标志?您可以单击复选标记将我的答案标记为最佳答案;)