我有一个关于构建firefox插件的问题,基本上我的目标是做以下事情,1)在我的插件中,我只想为链接[anchortags]显示右键单击上下文菜单项,并为页面的其余部分隐藏菜单项2)如何将动态列表添加到我的菜单中,即根据用户的选择动态添加菜单列表项的数量。谁能给我指出正确的方向谢谢!! 最佳答案 为contextmenu事件绑定(bind)一个事件监听器,判断被点击的元素是否为链接,例如:window.addEventListener("contextmenu",function(e){varmenu=document.getEle
我已经编写了一个Firefox扩展,目前正在为Firefox4更新它并添加一些新功能。Firefox4有一个很棒的新通知显示,我很想使用它并且找到了大量关于如何使用它的文档。但是,对于少于4个的任何内容,我都创建了我自己的具有特定样式的通知窗口。我的问题是:如何在我的扩展的javascript中检测我是否使用Firefox4。或者,有更好的方法吗? 最佳答案 您可以使用nsIXULAppInfo:varappInfo=Components.classes["@mozilla.org/xre/app-info;1"].getServi
我的WebExtension上有一个设置页面,但我不知道如何使用javascript访问设置的值。当前的.xul文件:如何访问“电子邮件”值?我可以只写类似“getPreferences('email')”的内容吗? 最佳答案 不要在WebExtension附加组件中使用XUL:如果您在WebExtension中使用XUL,则可能有问题。如果您正在编写WebExtension,并且开始使用XUL:退后一步。确保那是真正您应该做的。WebExtensions的要点之一是它将附加组件与Firefox的内部(即XUL)隔离开来。选项面板和
我想在SWT浏览器中嵌入JavaScript调试器。我正在使用SWT.MOZILLA标志来创建浏览器。由于我加载的JavaScript应用程序很复杂,我需要一些JS调试器(任何合适的:firebug、venkman)。那么,有什么方法可以在浏览器小部件中嵌入JS调试器吗?我听说过firebug-lite,但我不知道如何在SWT中配置它。您能举一些工作示例吗? 最佳答案 请参阅我在UsingFirebugLiteinSWTBrowser上的回答.该代码片段适用于XULRunner10.0.2和Eclipse4.2。XULRunner的
我正在尝试将Greasemonky脚本转换为Firefox的扩展程序,并且我正在尝试让我的扩展程序在打开新选项卡时自动将一个简单的脚本附加到任何网页。我正在从Greasemonkey转换脚本,因为我想利用高级首选项和菜单选项。我使用这个访问标签:varcontainer=gBrowser.tabContainer;container.addEventListener("TabOpen",tabAdded,false);functiontabAdded(event){varnewtabwindow=event.target.____//Idon'tknowwhatgoeshere//at
我正在尝试使用POST请求的结果打开一个新的浏览器选项卡。我正在尝试使用包含以下代码的函数来这样做:varwindowManager=Components.classes["@mozilla.org/appshell/window-mediator;1"].getService(Components.interfaces.nsIWindowMediator);varbrowserWindow=windowManager.getMostRecentWindow("navigator:browser");varbrowser=browserWindow.getBrowser();if(br
您好,我正在制作一个firefox扩展程序,它需要在firefox的同一窗口中的新选项卡中打开一个链接。我应该怎么做?这将在新窗口中打开(替换旧窗口):window.location=url;这会在同一个标签页中打开window.content.document.location=url关于如何在新标签页中打开url有什么想法吗? 最佳答案 你试过window.open(url)了吗?我猜测专门在新选项卡(而不是新窗口)中打开是无法通过JavaScript控制的浏览器行为的一部分。
在为Firefox开发扩展时,我一直在研究全局命名空间污染,我想在我的扩展中尽可能避免它。有几种解决方案,但一般来说,这些解决方案似乎只为您的扩展声明一个全局变量,并将所有内容放入其中。因此,您只需向全局命名空间添加一个额外的变量,这还算不错。顺便说一句,有人向我提出了一个解决方案,可以避免将任何额外变量放入全局命名空间;将所有内容包装在一个函数中。这里的问题是在您的XUL覆盖层中没有任何东西可以引用。您必须在叠加层中声明元素,然后在JS中添加大量的addEventListener来替换像oncommand="..."这样的东西在XUL中。我不想这样做;我绝对希望我的XUL在XUL本身
我正在编写一个Firefox扩展,它需要知道当前登录用户在Windows、Mac或Linux中的用户名。所以如果我以“brh”身份登录我的机器,它会返回“brh”。知道如何通过扩展JavaScript做到这一点吗? 最佳答案 Firefox扩展按照与页面中运行的普通JavaScript不同的规则运行:绝对有可能找到当前用户。打开错误控制台(在工具中)并输入:Components.classes["@mozilla.org/process/environment;1"].getService(Components.interfaces
我正在编写一个Firefox扩展。我试图将它限制为仅XUL+Javascript(没有XPCOM)。当我得到一个HTML元素的mouseover事件时,我需要在windows坐标系中得到它的边界框(即内置的XUL文档browser.xul)。显而易见的起点是在鼠标悬停事件处理程序中放置类似这样的内容:varrect=e.target.getBoundingClientRect();这很好,但是这给了我HTML文档坐标系中的矩形,它相对于HTML绘图区域的左上角。我想在这张图片附近使用panel.openPopup()显示一个xul:panel元素(但不使用预定义的popuppositi