【问题标题】:Google Search API Inside Firefox ExtensionFirefox 扩展中的 Google 搜索 API
【发布时间】:2009-04-15 06:27:11
【问题描述】:

我正在开发一个 Firefox 扩展,我需要包含 Google 搜索 API。但我在 google.load('search','1') 行中遇到错误。谁能告诉我是什么问题

谢谢。

【问题讨论】:

    标签: javascript import firefox-addon


    【解决方案1】:

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

    h t t p 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');
    

    }

    onPageLoad 是在 DOMContentLoaded 事件发生时加载的,所以当页面的整个树被加载时(看起来它是一个相当于 onLoad 的 DOM)

    (请原谅我在链接中插入空格,否则我将不被允许发布它们:])

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多