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扩展选项页面_Javascript_Google Chrome Extension - Fatal编程技术网

Javascript 将构造函数从单独的文件加载到Chrome扩展选项页面

Javascript 将构造函数从单独的文件加载到Chrome扩展选项页面,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在制作一个带有选项页面(在我的清单中声明)的Chrome扩展。 我在一个单独的文件中定义了这样一个对象: function MyObject() { … } 我使用以下方式“导出”it: window.MyExtension = {}; window.MyExtension.MyObject = MyObject; 然后,我可以在扩展主文件中使用以下方法构造其他对象: new MyExtension.MyObject(); 它很好用 但我想在我的选项页面中使用此对象。我看到脚本

我正在制作一个带有选项页面(在我的清单中声明)的Chrome扩展。 我在一个单独的文件中定义了这样一个对象:

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”)。谢谢。这是我在这里的第一篇帖子,是否有解析标志?您可以单击复选标记将我的答案标记为最佳答案;)