Tag: firefox addon

在FF扩展名处使用新的jQuery Position实用程序脚本

我试图在我的FF扩展程序中使用以下代码但没有成功: $(‘#duck’).position({ of: ‘#zebra’, my: “left top”, at: “left top” }); (职位手册在http://docs.jquery.com/UI/Position ) 我也尝试过: var doc = gBrowser.selectedBrowser.contentDocument; $(‘#duck’, doc).position({ of: $(‘#zebra’, doc), my: “left top”, at: “left top” }); 两者都没有成功….另一方面,当我在网页代码本身尝试第一个代码示例时,它工作得非常好…… 任何人都知道是什么导致了这个问题? 干杯和thx提前! Nimrod Yonatan Ben-Nes

如何隐藏包含特定关键字的表格行?

在阅读论坛时,我希望能够使用可自定义的关键字filter来隐藏某些行。 例如,在这个论坛上 ,我想隐藏某些用户名的任何行(第3列)。 难道只能在这个网站上写一个可以做到这一点的Greasemonkey脚本吗? 或者是否有一个Firefox插件可以做这种事情?

Firefox扩展上的标签独立jQuery

我正在开发基于jQuery的Firefox,如本答案中所述。 在实现了答案中提供的示例之后,eveything工作正常,但问题是Firefox Tabs之间的代码以某种方式链接,而example.doc始终引用最后打开的选项卡。 打开tab1: plugin-example已添加到当前页面。 this.doc引用tab1。 Oepened tab2: plugin-example已添加到当前页面(tab2)。 this.doc现在引用tab2 回到查看tab1: this.doc仍然引用tab1。 单击tab1上的plugin-example将作用于tab2中的plugin-example 。 如何在选项卡之间使代码独立? 这是代码的一个excrept: (function() { jQuery.noConflict(); $ = function(selector,context) { return new jQuery.fn.init(selector,context||example.doc); }; $.fn = $.prototype = jQuery.fn; example = new function(){}; example.run = function(doc,aEvent) { if (doc.getElementById(“plugin-example”)) return; this.doc = doc; this.main = main = $(”).appendTo(doc.body).html(‘Example Loaded!’); this.main.click(function() { //<— […]

将Jquery和其他JS库添加到Firefox扩展

如何在我的firefox扩展中包含jquery和其他脚本? 我知道这个主题是关于SO的许多其他问题的副本,但它们都没有那么有用。 我尝试在其中一个JS文件中使用,我想使用jquery, Components.utils.import(‘chrome://myaddon/content/jquery.min.js’); 但它给了我一个错误说, ReferenceError: window is not defined 我也尝试在XUL文件中添加脚本,但不知怎的,我也无法让它工作。 还有其他方法吗?

如何读取ajax对话框的信息

我想使用javascript和jQuery开发一个firefox-extension,它提取用户的facebook-privacy设置。 在“隐私设置”菜单中,您可以单击“编辑设置”,我想阅读用户输入的设置。 这是一张图片: 我有3个解决方案的想法: 第一个想法:我在我的脚本中寻找一种方法来“伪造”点击链接。 但是我还没有找到一个function……我试过.click()和.trigger(’click’)但这不起作用……对此有何看法? 第二个想法:如果没有办法“伪造”那个点击,我试图用window.location.href =“ http://www.facebook.com/ajax/settings/privacy/connect.php ”简单地打开那个链接。 ; 但这只是引导我进入facebook-startpage。 最后的想法:用ajax发出请求。 我使用FireBug来获取参数。 在我的内容脚本中,我使用了jQuery: var data = ‘__a=1&__d=1&__user=100002895945078’; $.ajax({ type:”GET”, url:”http://www.facebook.com/ajax/settings/privacy/connect.php”, data: data, success: function(response) { alert(response); }, error: function(xhr) { alert(‘Error! Status = ‘ + xhr.status); } }); 我使用FireBug并发现请求与我点击“编辑设置”链接相同。 甚至响应也是一样的(你可以在这里看到: http : //pastie.org/private/gk7fnfkretolkqd8xlmqhw )我需要的信息包含在本回复中,但我不知道如何去做。 我从错误警报中得到: “Error! Status = 200” ,但通常200可以!? 对话框没有弹出,并且未添加DOM节点。 我自己必须这样做吗?

如何在更改内容后知道iFrame的DOM何时再次准备好?

我正在使用jquery编写一个firefox插件。 我在页面中添加了一个iFrame,并用另一个页面填充(允许相同的orign策略)。 $(‘#globalContainer’).append(”); //…. $(‘#reusable_iframe’).attr(‘src’, link); //… var link = $(‘#reusable_iframe’).contents().find(HTMLclass).eq(position).find(searchBy).attr(‘href’); 问题是,iFrame中的DOM在访问之前没有完成加载。 但是,当我添加警报时,它可以正常工作: $(‘#globalContainer’).append(”); //…. $(‘#reusable_iframe’).attr(‘src’, link); //… alert(“wait a sec”); //<————————- var link = $('#reusable_iframe').contents().find(HTMLclass).eq(position).find(searchBy).attr('href'); 这个问题与我的ajax问题非常相似,它也适用于警报。 从ajax添加节点后如何知道DOM何时再次准备好我还没有找到解决这两个问题的方法…… 我试过这个: jQuery .ready在一个动态插入的iframe中,但它不适合我… 谢谢大家=)

无法在firefox扩展中调试挂起$ .post

我正在开发此扩展程序https://builder.addons.mozilla.org/addon/1022928/latest/ 此问题的核心代码位于Data / panel.js中 并且它运行得很好,除了每当我点击“Gem”发布jquery调用时,它只是挂在加载图标上,我在控制台中没有得到任何关于为什么调用没有通过和处理的反馈正如它应该。 那么我该如何使用新的firefox附加sdk builder beta调试它。 我已经尝试写入console.log(),我已经读过它应该适用于其他人,但是我真的看不到任何我的日志消息,只是在代码中同步的错误,因此不是ajax错误。 回到我的问题:如何在我的firefox扩展程序面板中调试挂起的ajax调用?

firefox ajax调用返回NS_ERROR_DOM_BAD_URI或jsonp false错误

关于无法在firefox扩展中调试挂起$ .post 任何人都可以告诉我为什么我的扩展https://builder.addons.mozilla.org/addon/1022928/latest/与此ajax调用: var url = ‘http://e-ønsker.dk/wishlist/ajax/add/’; $(this).hide(); //show icon loading $(“#icon”).show(); $.ajax({ type: “POST”, url: url, data: {title:$(“#txtTitle”).val(), url:encodeURIComponent(taburl)}, success: function(data, textStatus) { if(data.code > 0) { $(“#icon”).removeClass().addClass(‘accept’); } else { $(“#icon”).removeClass().addClass(‘error’); if(data.code == ‘-1’) alert(‘kunne ikke finde din ønskeseddel på e-ønsker.dk – besøg e-ønsker.dk, og prøv derefter igen’); } }, error: function(data, textStatus) […]

Mozilla Addon Development – 在具有不同域的窗口之间进行通信

我正在尝试创建一个插件,允许用户随意查询字典网站并查看所选单词的定义。 我一直在努力寻找一种方法来在页面工作者之间进行通信,我必须访问字典站点条目的DOM和用户正在查看的主页面。 我知道页面工作者能够从DOM中删除定义,因为我能够看到定义记录到控制台。 我遇到了让postMessage和onMessage合作的问题。 我目前正在尝试使用iframe弥补差距,但欢迎采用其他方法。 以下是我的代码中的一些内容…… index.js: var getDefinition = “var def = document.getElementsByClassName(‘def-content’);” + “definition = def[0].textContent;” + “word = document.getElementsByClassName(‘js-headword’);” + “word = word.textContent;” + “self.port.emit(‘dialog’, definition);” + “var thiswin = document.getElementById(‘example’).contentWindow;” + “thiswin.postMessage(definition, ‘*’);” currPage = require(“sdk/page-mod”).PageMod({ include: “*”, contentScriptWhen: “ready”, contentScriptFile: [ data.url(“jquery.js”), data.url(“jquery-ui.min.js”), data.url(“define.js”), ], onMessage: function(message){ console.log(“received message”); }, […]

如何设置jQuery的文档

在Firefox / Chrome扩展程序开发中,更改jQuery使用的文档非常重要。 它需要使用$(…)或jQuery(…)调用。 现在我被迫以这种方式使用jQuery: var jQDoc = jQuery(content.document); var someElements = jQDoc.find(‘.some-selector’); 我想要这样的东西 jQuery.setActiveDocument(content.document); var someElements = jQuery(‘.some-selector’); 没有jQuery代码更改是否可能? 更新 所有我需要的东西:将以这种方式使用jQuery(…)函数的重载: (function(){ /*overloading of jQuery(…) function*/ var _$ = jQuery; $ = jQuery = function(){ var args = Array.prototype.slice.call(arguments); if (arguments.length == 1){ args.push(_$._defaultRoot); } return _$.apply(_$, args); } jQuery.setDefaultRoot = function(element){_$._defaultRoot = element;} […]