2009-04-15 82 views
2

我開發Firefox擴展,我需要包括谷歌搜索API。但我在google.load('search','1')行遇到錯誤。誰能告訴是什麼問題谷歌搜索API的Firefox擴展

感謝。

回答

0

如果你已經收集了所有的JavaScript文件,並與您的Firefox擴展本地包裝他們,谷歌的加載功能是專爲從服務器加載JavaScript那麼你的問題是,你不能在使用負載機制圖書館。取決於您定位的Firefox版本,請使用Components.utils.import或mozIJSSubScriptLoader。

這可能需要修改,延長或覆蓋在谷歌的庫中的代碼。

2

我有同樣的問題,但根據我在Google的JS代碼中可以看到的內容,它會嘗試將變量'google'添加到窗口,但是擴展程序在沒有窗口時加載!因此,將不會有全局變量google變量,因此當您嘗試觸發google.load()時會發生錯誤。 我認爲解決方案是動態加載腳本。我剛剛找到了音譯現有的插件:

的https://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事件occures

的onPageLoad被加載,所以當首頁的整個樹被加載(現在看來,這是一個DOM相當於onLoad)實現

(請原諒我在插入鏈接的空間,但否則我不會被允許張貼:])