我正在创建一个firefox扩展。它工作得很好。但问题是,当我向导航工具栏添加按钮时,它会删除/禁用工具栏上的其他按钮。请检查我下面的代码有什么问题:
id = "my-toolbar-button";
if (!document.getElementById(id))
{
var navbar = document.getElementById("nav-bar");
var newset = navbar.currentSet + ",my-toolbar-button";
我正在使用Mozilla API上传一个附加组件并对其进行签名(如下)
上传插件后,我从api接收到第一个答案,它是json,看起来像。从这个响应中,我获取url字段并访问它(),这样我就可以看到我的加载项签名的状态
我不明白的是,为什么尽管插件被标记为signed以供我理解(active、passed\u review、processed、reviewd、valid都设置为true),xpi文件(result.files[0]。download\u url)被标记为signed=false
有
Chrome扩展API是否具有与Firefox EvalInSandbox类似的功能
我知道扩展本身正在沙箱中运行,但我的目的是从我的服务器下载JS代码,并在扩展中运行它(因此,如果Chrome中没有EvalInSandbox,那么完成此任务的最佳方法是什么?)
谢谢;-) 关于此功能的配置,已经进行了很好的讨论。还有一个功能需求:关于此功能的配置,已经进行了很好的讨论。而且它还有一个功能要求:它似乎正在解决这个问题。穆罕默德-你怎么看?(这不像开发原生Chrome扩展,但它生成了原生Chrom
这已经在一些线程中讨论过了,但没有给出任何真正的答案。
我需要开发一个非常简单的浏览器插件,它只有一个按钮,按下时可以运行javascript函数。它必须作为工具栏或类似工具放置
现在,有没有一种简单的方法可以开发一次Chrome、IE和FF?
只支持每个浏览器的最新版本也可以
谢谢如果您指的是javascript(不是特定于某个浏览器,例如显示历史记录),您可以这样运行它(将其粘贴到url栏):
javascript:alert(“Hello!”)
您可以创建一个指向脚本的href链接,然后告
在我的browser.xul代码中,我要做的是从html文件中获取数据并将其插入到我的div元素中。
我正在尝试使用div.innerHTML,但遇到一个异常:
组件返回故障代码:0x804e03f7
[nsIDOMNSHTMLElement.innerHTML]
我尝试使用Components.interfaces.nsIScriptableUnescapeHTML解析HTML,并将解析后的HTML附加到我的div中,但我的问题是样式(属性和标记)和脚本未被解析。XML文档没有innerHTM
像素完美
在FF6和seams上不再工作,因此他们不会更新它,是否有任何现有的附加组件或方法来执行此附加组件正在执行的相同操作
关于这个附加组件
通过打开和关闭组合,开发人员可以直观地看到
它们在显影过程中被关闭了多少像素
Pixel Perfect还有一个不透明度选项,因此您可以查看HTML
在作文下面。通过既能看到构图又能看到
你现在可以在像素完美的同时使用Firebug的HTML
仍在行动中
需要萤火虫
我一直在用这个-
没关系,做了它应该做的,没有太多的bug
当我注意到它可以访问“
我的雇主使用一个问题跟踪软件(该软件将保持匿名),该软件捕获CTRL+C并触发“创建一个新票据”工作流。我只想像平常一样使用CTRL+C,从页面复制文本,而不会每次跳转到页面标题处的弹出表单元素。这可以在全球范围内禁用,但我希望能够自己关闭它
我对浏览器扩展一无所知。我想知道的是:我能为Chrome写一个扩展吗,一个Firefox的插件,不管怎样,它能在特定主机的url上防止CTRL+C以这种恼人的方式被劫持吗?像这样的东西已经存在了吗(必须!!)?如果没有,我应该阅读什么开始,我在哪里可以找到
我开发了一个插件,它实现了一个小部件,小部件包含一个面板,面板包含一个名为display.html的页面。
display.html显示我需要的一些信息,并在最后显示一个按钮以转到下一个页面,该页面包含一个名为display2.html的页面。
现在的问题是我想随时回到上一页。我无法向display2.html添加任何内容(如返回的按钮或链接)
我想知道是否有方法通过右键单击小部件或使用任何其他事件返回display.html。谢谢,面板中没有典型的导航控件,因此您需要自己提供后退按钮
假设有人单击一个XUL元素(工具栏按钮),我想创建一个函数,并在HTML文档上注入和运行javascript。我该怎么做?谢谢。是的,你可以。如果您想执行内联javascript或附加插件中的javascript函数,则可以执行所有内联操作
然而,如果你想在你的插件文件夹中插入一个.js文件,你必须添加一个chrome.manifest并给它contentaccessible=true
这是一个演示插件,准备就绪,只需安装。它显示了如何注入html和addEventListener等内容:
重要
我正在开发从XUL到Jetpack的迁移更新。我想在我的本地机器上模拟这个过程,确保在版本更改时一切正常
我遵循了本教程的所有步骤:
以创建自托管更新版本。但是扩展不会更新,我也没有收到任何错误
如何调试或至少启动加载项的更新过程?首先,您应该打开扩展名.logging.enabled首选项。这会将大量有关更新过程和状态的信息转储到浏览器控制台中。
启用首选项后,只需打开Add-ons Manager UI并再次搜索更新
但是为了测试从一个版本到另一个版本仍然有效,我只需要安装旧版本(在新的配置
我正在获取句柄,结构如下所示:
var SYSTEM_HANDLE_TABLE_ENTRY_INFO = new ctypes.StructType('SYSTEM_HANDLE_TABLE_ENTRY_INFO', [
{'UniqueProcessId': ctypes.unsigned_long},
{'CreatorBackTraceIndex': ctypes.unsigned_long},
{'ObjectTypeIndex': ctypes.unsigned
出于安全原因,每当Firefox的浏览历史被清除时,我都需要清除插件的数据。为此,我正在监听“browser:purge session history”事件,当用户单击history->Clear Recent history菜单选项时,该事件会正确触发
但是,如果启用了“在Firefox关闭时清除历史记录”设置选项,则不会触发此事件,尽管浏览器历史记录在退出时已成功清除。如何处理这种情况?在main.js::onUnload中,您可以检查以下首选项的值:
exports.onUnload =
我有一个Firefox的旧插件,它注册了一个自定义协议“linkpassword://”
由于Firefox版本57,插件停止工作,我不得不将完整的插件重写为Firefox WebExtenstion
我的问题是我找不到注册协议“linkpassword://”处理程序的方法Firefox WebExtensions的manifest.json中的“protocol\u handlers”部分可用于注册公共或自定义协议处理程序
但是从网站上的文档来看,似乎您必须在自定义协议处理程序前面加上web
我编写了一个基于Mozilla Jetpack的附加组件,它必须在加载文档时运行。对于顶级文档,这主要使用以下代码:OserverService=require'observer-service':
但是,当用户使用鼠标中键或更重要的操作打开新选项卡时,不会调用回调!用于帧。即使是这个主题,我也只是通过阅读另一个扩展的源代码,而不是通过文档
那么,如何注册一个回调函数,它在每次加载文档时都会被调用呢
编辑:这似乎是我想要的:
function callback (event) {
//
FF插件工具栏,如何允许将项目拖到工具栏上?您应该阅读文档
基本上,您必须收听dragenter事件:
dragenter
在拖动发生时,当鼠标第一次移动到图元上时激发此事件的侦听器应指示是否允许在此位置上拖放。如果没有侦听器,或者侦听器未执行任何操作,则默认情况下不允许拖放。如果您希望提供允许放置的反馈,例如显示突出显示或插入标记,则也可以收听此事件。有关这方面的信息,请参阅
实际上,正确的答案是:向工具栏标签添加customable=“true”将允许您将图标放到工具栏上。编程相关的方法是什
所以我创建了一个用户点击的小部件,它打开了一个面板,我有几个关于面板的问题。
如何设置面板边框、背景色等的样式。。?我在它的contentURL中包含了一个HTML文件,我可以添加CSS来修改它吗?如果是,我如何通过CSS选择它
我还想添加一个关闭按钮,并保持面板始终打开,除非他们单击关闭按钮
再想一想,对于我正在尝试编程的附加组件,如果我制作一个窗口可能会更好,那么一个窗口是否具有很好的样式,这样我就可以让它看起来更酷
谢谢您的帮助。我认为您无法设置面板边框的样式。面板边框样式取决于操作系统,
我已经使用了相当长的时间,并且逐渐喜欢上了它(尽管它很烦人)。现在,当pp不再与FX6兼容时,我正在寻找一个工具来取代它
我发现了,而且距离购买它还有一步之遥,但我不太喜欢在源页面中包含某些内容的必要性
我知道我可以自己做,也许不如xprecise或pp好,但我现在没有时间
我很想知道你用什么?或者你只是为了使用pixel Perfict而坚持使用旧的fx吗?到目前为止,使用“Compatibility Reporter”似乎对我很有效。我发现的唯一问题是需要重新加载页面,以便在像素完美列表中查
我正在使用开发Firefox插件。我将package.json文件更改为包含32x32图标和64x64图标的条目
{
...
"icon": "icons/icon-32.png",
"icon64": "icons/icon-64.png",
...
}
此外,在包目录中运行cfx xpi之前,我将icon-32.png和icon-64.png放在包目录中的icons目录中
这些图标正确显示在插件管理器中的Tools>addons,但安装对话框仍使用拼图图标
我正在用builder.addons.mozilla制作一个插件,我已经在下面发布了main.js代码。这个想法是,当我单击插件的小部件时,它通过将disableWebIQ变量设置为true来禁用在panelist-webiq-cdn.appspot.com/warptest上运行的脚本。设置变量是可行的,但每当安装插件时,页面中脚本中的setTimeout调用都不起作用。向页面添加PageMod是否会禁用setTimeout
按钮脚本和myScript.js的代码没有太多功能,而且myScri
我想创建一个插件,它的xpi安装将允许用其他字符串替换网站的字符串
例如,将网页中的所有“the”替换为“change”。
实际上,他想为一个站点创建一个插件,通过单击工具栏按钮,或者通过选择单词并单击上下文菜单中的某个选项,可以将出现多次的复杂单词更改为更简单的单词
前进。如果需要,我们将提供更多信息。这是一个很好的问题
这是一件很简单的事情,但是要把它做好是非常棘手的。右-意味着它是以一种不受XSS攻击的安全方式完成的,并且非常有效。人们不在树上行走,做各种没有表现的事情是很常见的
人们要做
我使用原始JS为Firefox编写插件。我已经在Firefox Windows上安装好了。但当我每晚尝试在安卓Firefox上安装时,它并没有起作用。我试过这个:
但它也不起作用。如何在Android版本上安装插件
我需要下载使用nsIWebBrowserPersist用法的文件(saveURI)。但该文件应作为POST请求。如何操作?nsIWebBrowserPersist.saveURI()接受一个aPostData参数-如果传递一个输入流,将发出POST请求。如果您要发送一些简单的数据,使用应该是最简单的,如下所示:
var data=“a=1&b=2”;
var stream=Components.classes[“@mozilla.org/io/string输入流;1”]
.createInsta
我正试图通过Mozilla插件生成器创建一个插件。我需要知道的是如何通过附加组件获取活动选项卡中左键单击链接的URL,并在新选项卡中打开它
我知道这个过程涉及到通过页面mod添加eventlistener,然后使用tabs模块,但是我似乎无法获得正确的语法
编辑:这就是我到目前为止所拥有的
var Widget=requirewidget.Widget;
var制表符=需要“制表符”;
var pageMod=要求页面mod;
exports.main=函数{
pageMod.pageMod{
在我的Google Chrome扩展中,我使用了这个漂亮的小技巧来区分开发版本和生产版本:
有没有类似的技巧可以用于Firefox扩展?我希望在开发时在代码中使用一些稍微不同的设置,但在发布之前不必手动更改它们
比如:
if (addon_in_development) {
setting = 'abc';
}
else {
setting = 'def';
}
您可以在shell中设置环境变量,并按如下方式检测它:
var { env } = require('api-uti
有没有办法访问使用SDK构建的Firefox插件
它可以在普通页面脚本的全局窗口对象上使用,但是它没有在插件的全局范围内定义,或者,显然,没有在插件的窗口中定义。还有其他方法可以访问它吗?A.安
或
Intl.Collator可在Firefox 29+的插件全局范围内使用
Intl.Collator支持仅在Firefox 29中提供,目前在中提供(请参阅)。Firefox 29支持此功能,因此我不能告诉您,只能尝试此功能。转到scrachpad中的私有作用域并运行此警报(Services.app
我现在知道如何制作一个简单的firefox扩展,但我需要有人帮助我制作更有用的书签。现在,我在书签侧边栏中的任何书签上方按住鼠标光标几秒钟,它将显示一个带有书签全名的小窗口。我想在此窗口中添加一个小图像,例如youtube缩略图。你能帮我吗
相同,但在图像中:
=============编辑==========
=============编辑==========
=============编辑==========
差不多完成了。你能告诉我为什么这里的缩略图这么宽吗图像.setAttribute
是否有任何方法可以在环境中的系统默认应用程序中启动打开文件,或者至少在Firefox插件中启动打开文件
我正在寻找多平台解决方案,因此我宁愿避免类似平台检测+要求(“sdk/system/child\u process”).exec()+(open,xdg open,RUNDLL32.EXE SHELL32.DLL,OpenAs\u RunDLL)。
类似于Java世界的东西是理想的。解决方案是方法。可以使用构造函数获取基于文件路径的nsIFile实例
下面的代码演示如何使用launch方法在附
我尝试在Firefox扩展中使用web组件,但在尝试添加所需的多边形填充以使web组件在Firefox上工作时,总是会出错
多填料使用
第一次尝试-webcomponents-sd-ce.js
“内容脚本”:[
{
“matches”:[“我使用的是chrome。chrome需要此polyfill,因为在上下文脚本窗口中没有“customElements”属性。这通常是用户窗口属性列表中的默认属性
第二次尝试-webcomponents-bundle.js
“内容脚本”:[
{
“匹配项”:[
我正在使用SDK开发一个新版本的插件(针对Gmail),需要为我的用户存储一些布尔首选项。为此,我想使用新的“SimplePrefs”API。基于此,我得到了一些东西,但我面临以下问题:
1) 我无法将首选项的更改正确地传递到数据中的外部脚本。我需要禁用并重新启用加载项以应用更改
2) 如何确保首选项直接应用于打开Gmail的选项卡
这是我的package.json:
{
"name": "Demo",
"license": "MPL 1.1/GPL 2.0/LGPL 2.1",
"auth
我正在做一个firefox扩展,我正在尝试捕获上下文菜单中的当前选择,它工作正常。但是,我希望当前所选内容用双引号括起来。代码段:
contentScript: 'self.on("context", function () {' +
' var text = \"'+'window.getSelection().toString()'+'\";' +
' if (text.length > 20)' +
'
我已使用Windows注册表在以下位置注册了Firefox扩展:
HKEY_CURRENT_USER\Software\MozillaPlugins
但是,在重新启动Firefox时,我没有看到安装了扩展
有人能解释为什么会发生这种情况吗?An不是一个。您在Windows注册表中使用了错误的位置来添加加载项/扩展
使用注册表项安装加载项是非常困难的。但是,如果要执行此操作,则应为当前用户使用的注册表项为:
HKEY_CURRENT_USER\Software\Mozilla\Firefox\E
当用户拥有多个Firefox扩展时,是什么决定了它们的初始化顺序?具体来说,应用的顺序是什么?在大多数情况下,顺序并不重要,但它确实会影响项目在“工具”菜单或状态栏中的显示顺序。此外,能够依靠扩展A将在扩展B之前初始化的知识有时可以简化编码
我在任何文档中都找不到这一点,因此任何见解都是非常受欢迎的。非常感谢。我相信这符合安装顺序。至少过去是这样。非常感谢。这是有道理的,并且符合我已经看到的间接证据。
我正在寻找firefox扩展解决方案来拦截firefox字典操作:
当用户选择“将单词添加到字典”操作时,我希望在将该单词插入用户的下字典文件persdict.dat之前对其进行修改
这可能吗?如何做到这一点?
在为这个特殊用例编写自己的扩展时,有什么特别的事情需要我注意吗?我找到了自己问题的答案。覆盖firefox拼写检查器的InlineSpellCheckerUI.addToDictionary函数完成了这项工作。这是我的扩展名xul文件:
<?xml version="1.0"?&g
我的网页加载不正确。如何调试此问题?mozilla上是否有用于此问题的插件?这是一个静态网页,或者您有一个使用特定语言的后端
您可以尝试使用firebug解决问题,但是如果您有后端应用程序,那么您必须调试应用程序而不是页面。这是一个静态网页,或者您有一个使用特定语言的后端
您可以尝试使用firebug来解决问题,但是如果您有后端应用程序,那么您必须调试应用程序而不是页面。根据您需要测试的内容,您可以使用firebug来解决问题-例如,没有太多XBL的XUL页面
如果需要测试一些chrome Ja
我试图在我的firefox侧边栏扩展中完成双向通信请求响应,我有一个名为event.js的文件,它位于内容端,我还有一个名为sidebar.js的文件,它位于xul中。我能够使用dispatchEvent方法从event.js到sidebar.js文件进行通信。我的事件反过来在sidebar.js文件中引发一个XMLHttpRequest,该文件将命中服务器并发送回响应。现在,我无法将响应传递到event.js文件。我希望在event.js文件中访问响应。到目前为止,我只实现了单向沟通。请帮我取
我的Firefox加载项保存在临时文件夹中。结果我有了一个例子
如何将该文件上载到其他服务器?如果使用,我不知道如何将该文件传递给FormData
或者,我可能不应该只是下载文件并将其保存在临时文件夹中,因为该文件的唯一用途是上传到另一台服务器。可能,我应该将文件大小保持在内存中~20Kb?如果您将数据作为应用程序/x-www-form-urlencoded发布到服务器,那么您应该使用btoa对其进行base64编码,并将其作为POST参数之一包含在请求体中,即传递给XMLHttpRequest
我正在尝试使用新的Firefox插件生成器在每个页面上获取页面标题。我该怎么做
编辑
更多信息
我想在每个页面加载事件中获取页面标题 这实际上是第一个关于:
var tabs=require(“tabs”);
对于每个(选项卡中的变量选项卡)
控制台日志(选项卡标题);
看
编辑:如果您需要知道每个页面加载时的标题,而不是捕获当前状态,则应使用:
var pageMod=require(“页面修改”);
pageMod.pageMod({
包括:“*”,
contentScriptWhen:“
我正在尝试编写我的第一个Firefox扩展(我使用Firefox 8.0.1),但我被卡住了:
我从下载的文件plugin.zip中得到了一个工作示例,重命名为plugin.xpi似乎还可以。然后我将它解压缩到文件夹中,不做任何修改就再次压缩它(使用默认的Ubuntu10.04LTS上下文菜单包archiver)。当我尝试安装重新压缩的\u plugin.xpi Firefox时,返回:
“无法安装此加载项,因为它似乎已损坏。”。我做错了什么
我应该使用哪些压缩工具使其工作?如何确定内部ZIP类
我想在firefox中请求期间更改HTTP POST的url。目前我已经尝试了“篡改数据”firefox插件,它允许我在请求期间更改POST参数,但不允许更改POST请求url
我不想通过curl等来模仿post,因为我必须手动设置cookie和所有这些参数
firefox中有这样的东西吗
谢谢 看看插件。
有一个“重播”按钮,您可以在其中更改先前录制的请求的URL和数据。在最新版本的firefox中已弃用
我正在开发一个名为gradientoo的Firefox插件。我使用一个颜色选择器来生成颜色值,这些颜色值可以改变页面上元素的颜色。我曾经体验过,在colorpicker上更改的颜色值与到达页面元素的值之间存在延迟。是否有一种更快的方式从插件与页面内容进行通信。Iframe是我讨论过的一个想法。然而,即使像这样的Iframe也需要使用“port”。有没有关于高数据传输速率的更快通信机制的想法 为什么iframe需要使用端口?你不能使用window.postMessage吗?window.postM
目前,在开发Firefox插件时,我会显示一个XUL通知框。此时,通知框将仅显示在浏览器底部,无法找到有关将位置更改为浏览器顶部的任何信息。
我知道你可以用高优先级等等。。。但它似乎只是在浏览器底部再次添加了这一点
代码:
任何帮助都将不胜感激 我已经使用XUL Explorer进行了测试,我可以成功地更改位置。
代码如下:
<?xml version="1.0"?>
<?xml-stylesheet href="chrome://global/skin/" type="t
我有一个Firefox扩展,它包含一个文本框:
<textbox id="exclude-text" flex="1" rows="10" multiline="true" style="min-width: 25em;" wrap="off" value="0" persist="value"/>
用户在文本框中输入一些文本。我需要此文本在会话间保持。
我找到了有关“persist属性”的信息,但在我的情况下,它不起作用。
有什么方法可以让它工作或简单的解决方法吗?
谢谢大家
如何在内容脚本中获取Firefox插件版本?全局self对象可用,但没有版本号。插件版本在模块中可用,只能通过插件脚本访问
var self = require('sdk/self');
var version = self.version;
您可以通过端口上的消息传递将版本发送到内容脚本。执行此操作的方法取决于内容脚本的添加方式,如指南中所述
如果您正在使用,则可以执行以下操作:
main.js
content-script.js
通过页面模式、页面工作程序、选项卡附加方法等附加工作程序时,
我正在将这个屏幕保护程序测试从linux代码转换为js ctypes
它大量使用X11,但我找不到任何菜单功能
这是我正在尝试转换的代码:
1012 XMenuList::GetInstance()->InsertMenuWindowXIDs(&windows);
1013 // Enumerate the menus first.
1014 for (iter = windows.begin(); iter != windows.end(); iter++
我正在使用开发Firefox插件。
我一直在关注这个问题
Firefox版本:41.0.2
我的过程是:
jpm运行-->好,附加模块工作正常
jpm xpi-->确定:创建@myAddon.xpi(jpm[info]已成功创建.xpi at…)
使用@myAddon.xpi-->NOK
当我尝试在我的Firefox中安装插件时(addon->install from file->@myAddon.xpi),我收到一条消息“install successfully”。看起来不错。但是,附加组件不
我对开发插件相当陌生,但我想制作一个可以修改/替换about:netError页面的插件
我在任何地方都找不到教程或文档,有可能吗
多谢各位
编辑:我需要编辑显示错误信息的xhtml文件。一种方法是侦听页面加载,然后更改它-----可能值得尝试使用此方法使用相同的GUID来覆盖它。您是否能够解决这个问题?
我们有一个Firefox扩展,最近从Firefox插件架构移植到“新”WebExtensions架构,但是,我们有两个问题:
有一个bug阻止我们的扩展使用WebExtensions在FF49中工作
我们希望保留对旧附加组件版本的支持,以支持使用旧版本Firefox(包括Firefox ESR)的客户,但也希望让那些喜欢最新和最好浏览器版本的客户可以使用WebExtensions版本
我的问题是:我可以在上提供多个版本的扩展,这些扩展支持特定版本的Firefox吗?i、 例如,我们的扩展版本1支
我特别需要的是为Firefox开发一个附加组件(我认为是“扩展”)来查看PDF文件,而不是内置的PDF查看器
首先,我在和上花了一点时间,但我不知道如何制作一个附加组件,它将成为“首选项/应用程序”下的一个选项
“选择Firefox如何处理从web下载的文件或浏览时使用的应用程序”
以这种方式构建附加组件是不可能的吗?任何帮助或指点都将不胜感激
在Chrome中,此选项似乎是manifest.json中的文件浏览器处理程序。回答由Martin Giger提供:
我至少可以看到两种方法(据我所知,
我正在尝试让我的插件支持可移植的Firefox,我让一切都正常工作,但我想从同一个插件支持可移植和不可移植。我不想为便携式用户单独发布
因此,我试图从我的插件中检测它运行的Firefox是否可移植。事实证明,这是非常棘手的
这些是人们试图帮助的其他地方:
我将获得XREExeF路径,返回一个目录,检查那里是否存在AppInfo和DefaultData目录
Firefox的目录也在那里,但它的名字可能与Aurora和Nightly portables不同
var exeFile=FileU
我正在开发一个Firefox插件,我假装我的插件能够在桌面和移动设备上运行。我认为几乎所有东西都与这两种环境兼容,但是根据当前设备是移动设备还是桌面设备,我想运行一些代码,因此问题是是否有类似于system.isMobile()的东西可以用以下方式使用:
var system = require("sdk/system");
if(system.isMobile())
console.log("firefox for android");
else
console.log("no
上一页 1 2 3 4 5 6 7 8 9 ...
下一页 最后一页 共 25 页