Firefox扩展中的Google Search API

时间:2009-04-15 06:27:11

标签: javascript import firefox-addon

我正在开发firefox扩展程序,我需要包含Google Search API。但我在google.load('search','1')行遇到错误。任何人都可以说出问题是什么

感谢。

2 个答案:

答案 0 :(得分:2)

我遇到同样的问题,但根据我在Google的JS代码中看到的内容,它会尝试将变量'google'添加到窗口,但是当没有窗口时加载扩展名!因此,没有全局 google 变量,因此当您尝试触发google.load()时会发生错误。 我认为解决方案是动态加载脚本。我刚刚找到了一个用于音译的插件:

h t t s:/ / addons.mozilla.org/pl/firefox/addon/8960

看看他们是如何解决问题的:

onPageLoad: function(event) {
var doc = event.originalTarget;
var ele = doc.createElement('script');
ele.setAttribute('type', 'text/javascript');
ele.setAttribute('src', 'h t t p : / / www.google.com/jsapi?key=internal');

}

当DOMContentLoaded事件发生时,

onPageLoad被加载,所以当加载页面的整个树时(看起来它是一个等同于onLoad的DOM)

(原谅我在链接中插入空格,但我不允许发布它们:])

答案 1 :(得分:0)

如果您收集了所有JavaScript文件并将其与您的Firefox扩展程序本地打包在一起,并且google的加载功能是为从服务器加载JavaScript而设计的那么您的问题是您无法在该库中使用加载机制。而是使用Components.utils.import或mozIJSSubScriptLoader,具体取决于您要定位的Firefox版本。

这可能需要编辑,扩展或覆盖Google库中的代码。