1

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

function MyObject() {
    …
}

我使用“导出”它:

window.MyExtension = {};
window.MyExtension.MyObject = MyObject;

然后我可以使用以下方法在我的扩展主文件中构造其他对象:

new MyExtension.MyObject();

它工作正常。

但我想在我的选项页面中使用这个对象。我看到脚本没有加载,所以我尝试创建一个脚本标签并将其附加到正文中。因为我可以看到 console.log() 输出,所以脚本被执行,但我无法在我的选项页面中使用“new MyObject”构造一个对象。我怀疑这是因为沙盒或类似的东西,脚本中定义 MyObject 的窗口对象不应该与我的选项页面中的相同。

但是我怎么能得到对 MyObject 的引用呢?但是,我可以复制粘贴我需要的代码并且它会工作,但是 DRY 呢……我不敢相信没有好的方法可以做到这一点。

希望我解释得很好。谢谢,

cGuille.

4

1 回答 1

0

不要使用 包含它chrome.extension.getURL(),因为您的选项页面您的扩展程序中。像这样做:

<script src="myscript.js"></script>

这应该有效。;)

于 2012-06-03T19:55:24.940 回答