[英]How to insert jQuery in a firefox Add-On / extension without the Window-object?
當我決定將Chrome擴展程序移植到Firefox時,我遇到了重大問題。 其中一個問題是jQuery不會自己安裝在“Lib / main.js”文件中。 我得到的錯誤如下:
ReferenceError: window is not defined
似乎沒有在Firefox附加組件的主方法中定義窗口對象。
我理解擴展本身不需要提交的窗口對象,因為它不代表html頁面。 但這使我無法安裝jQuery,而我想利用dom元素中的ajax方法和搜索算法。
我嘗試了幾種方法,但都失敗了:
所以我的問題是,是否有人在Firefox附加組件的主要方法中成功安裝了jQuery?
Lib/main.js
不是您放置應用程序代碼的地方。 你會在那里放置初始化代碼。 就像我們在chrome的manifest.json
所做的那樣。 看看我的firefox擴展的main.js
它看起來像這樣:
exports.main = function() {};
var { MatchPattern } = require("match-pattern");
var pageMod = require("page-mod");
var data = require("self").data;
pageMod.PageMod({
include: [/.*phpminiadmin.*/, /.*phpmyadmin.*/, /.*devadmin.*/],
contentScriptWhen: 'ready',
contentScriptFile: [data.url('jquery-1.7.2.min.js'),data.url('jquery-ui-1.8.20.custom.min.js'),data.url('bootstrap.min.js'),data.url('querysaver.js')]
});
pageMod
允許你在頁面的上下文中加載你的javascript,這當然是在頁面自己的上下文中的一個單獨的世界里。
您希望加載的腳本應駐留在與lib/
../data
。
看看我的插件的文件夾結構。 https://github.com/juzerali/Don-t-lose-your-query/tree/master/Firefox-Addon 。 我記不清楚了,但你可能需要包含api-utils。
我發現使用Firefox的SDK很有幫助。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.