美好的一天。 我想在我的FireFox扩展中添加jQuery 我在.xul中添加文件并使用以下代码:
main.xul:
<overlay id="sample"
xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
xmlns:html="http://www.w3.org/1999/xhtml">
<script type="application/x-javascript" src="chrome://mozillatest/content/jquery.js" />
<script type="application/x-javascript" src="chrome://mozillatest/content/main.js" />
</overlay>
main.js文件:
document.addEventListener("DOMContentLoaded", function(){
$whatever = jQuery.noConflict();
if (window.$whatever) {
alert('1 check - OK 1!');
$whatever('form').on('submit', function(e) {
alert('submited');
});
});
我看到警报“1检查 - 确定1!” 但是,当我导航到一些网站并按提交时,我看不到警报“提交”。 我在Chrome中编写扩展程序,它没有问题! 我需要做什么?
答案 0 :(得分:1)
您正在将jquery加载到browser.xul中,这不是您真正想要的。你想要它在页面的上下文中。
我建议您查看add-on SDK而不是编写简单的XUL扩展名,因为这不仅会使您的常规用例更容易,SDK也更像是Chrome扩展程序。看看page-mod
SDK module。
如果您仍然想使用普通的XUL,那么您必须完成繁重的工作,SDK会为您自己做,即intercepting page loads
,然后使用DOM方法(或jQuery,但不是定期“风格”)与网站互动。但在此之前,你需要围绕browser.xul
和xul窗口,覆盖,<tabbrowser>
以及它与browser.xul
的关系等等。