firefox-addon-sdk相关内容
我正在制作一个 Jetpack 扩展,其中一个小部件会打开一个面板.单击小部件会按预期打开面板(锚定在小部件的右下角).但是,如果我从我的代码中调用 widget.panel.show(),面板会打开,与小部件分离,位于屏幕中央,漂浮在空间中. 简而言之,我该如何解决这个问题? 我可以模拟小部件上的点击事件(以某种方式)而不是调用 widget.panel.show()? 我可以
..
我是插件开发的新手,我已经为这个问题苦苦挣扎了一段时间.这里有一些问题在某种程度上是相关的,但它们还没有帮助我找到解决方案. 所以,我正在开发一个 Firefox 插件,当任何网页加载到浏览器的任何选项卡中时,它都会读取一个特定的标题. 我能够观察标签加载,但我认为没有办法在以下(简单)代码中读取 http 标头,只有 url.如果我错了,请纠正我. var tabs = requi
..
大家好,我有一个关于 Firefox 插件的问题: 例如,我如何从选项卡中获取正文内容. var content = require("tabs").activeTab.documentContent.body.innerHTML; 非常感谢. 解决方案 插件 SDK 不允许直接访问选项卡内容 - 其想法是插件和选项卡最终可能存在于不同的环境中最终处理.您所做的是将内容脚本注入选
..
我在此链接中阅读了有关“请求"功能的信息:https://addons.mozilla.org/en-US/developers/docs/sdk/1.1/packages/addon-kit/docs/request.html 我想使用“post"方法.没有关于如何使用 post 方法将变量从 JS 发送到我的服务器的解释或示例.我该怎么做? 解决方案 您只需使用 post() 更
..
我正在使用 Firefox Add-on SDK 创建扩展并执行 PageMod.此代码在 main.js 中. ...export.main = 函数(){var pageMod = require("sdk/page-mod");pageMod.PageMod({包括: "*",contentScriptWhen: '结束',内容样式文件:[self.data.url("css/style.
..
我在寻找一种简单的方法来开发 Firefox 扩展时投入了很多东西,但我无法创建一个扩展.请告诉我 Firefox 扩展的文件结构和安装扩展的简单方法. 解决方案 .xpi 文件格式(扩展打包) 用作 Mozilla(Firefox、Thunderbird 等)扩展的容器的 .xpi 文件只是将文件扩展名更改为 .xpi 使用“deflate"将文件添加到存档中压缩或未压缩.如果您使
..
我想将 resource:// 链接(分别是来自我的 Firefox 插件的本地文件)加载到网页中的 iframe 中. 原因是,出于安全原因,资源应该在视觉上嵌入到网页中,同时不让网站访问其 DOM. 这个问题过去曾在多个地方讨论过,例如这里(没有解决方案):https://bugzilla.mozilla.org/show_bug.cgi?id=792479 由于大多数帖子都
..
我已经制作了完整的 FF 扩展,并且 URL 栏中有一个按钮.当您将鼠标悬停在按钮上时,boss 现在希望按钮显示某个字符串.这是我当前的按钮代码: var loadURLButton = function(doc, urlBtnClick) {var urlBarIcons = doc.getElementById('urlbar-icons')var btn = doc.createElem
..
我已经使用 插件 sdk.我正在尝试使用 canvas drawWindow 功能. 我有以下代码来使用该函数,其中 ctx 指的是我通过 canvas.getContext("2d") 获得的画布上下文. ctx.drawWindow(window, 0, 0, 100, 200, "rgb(255,255,255)"); 当我运行此代码时,在使用 附加的脚本中 tabs.acti
..
我正在尝试获取 userAgent 并想对其进行一些解析: 我的代码是: var userAgentInfo = {用户代理:空,初始化:函数(){this.userAgent = window.navigator.userAgent;//错误},getOS:功能(UA){//一些逻辑},获取设备:功能(UA){//一些逻辑},获取浏览器:功能(UA){//一些逻辑},}; 每当我尝试启
..
在我的 SDK 插件中,我想 在页面脚本中调用函数 在页面脚本中导出、读取(获取)、写入(设置)或操作某些变量或属性 将新函数导出到页面脚本中或覆盖现有函数 或将自定义事件发布到页面脚本可以侦听的页面. 我的附加 SDK 内容脚本如何与网站通信? 解决方案 与页面脚本交互的方式有很多种,其中最常用的在官方文档中有介绍,包括问题中列出的所有方式. 请阅读"与页面脚本交
..
首先让我说我是附加开发的新手.我正在使用附加软件开发工具包,尝试创建一个简单的Firefox附加软件,当按下按钮时,其行为类似于按Ctrl-S热键,或遵循文件->保存页面以使保存页面弹出上窗口.我在这里已经看过类似的问题,但是它们似乎是围绕内置的保存功能,而不是利用“另存为"窗口. 最终目标是在进行保存调用之前运行其他功能.用户将只能正常看到“保存页面"窗口. 我不知道发送热键信号或从
..
我正在尝试从附加组件的内容脚本中覆盖网页中名为 replaceMe 的JS函数,但是我看到原始函数的实现总是被执行. 原始HTML包含以下函数定义: 函数replaceMe(){警报('原始');} 我正在尝试覆盖其插件,例如( main.js ): tabs.activeTab.attach({contentScriptFile:self.data.url("replacerCo
..
因此,当他尝试加载的页面符合我的条件(正则表达式)时,我正尝试将浏览器重定向到另一个网页.目前看起来像这样:(在此处找到) 函数侦听器(事件){var channel = event.subject.QueryInterface(Ci.nsIHttpChannel);var url = event.subject.URI.spec;如果(isToBeRedirected(url)){//替换网址
..
我当前在 bootstrap.js 文件中使用它.在我使用 recentBrowserWindow.messageManager.loadFrameScript(file,true): 的情况下,用于编辑客户端的JavaScript代码 const {类:Cc,接口:Ci,utils:Cu,结果:Cr} =组件;Cu.import('resource://gre/modules/Servic
..
我现在正在使用Jetpack API的新版本,该版本允许您使用JS框架为Firefox创建插件. “面板"对象易于使用-但我一直在努力寻找一种放置它的方法.该文档仅声明( Jetpack Panel API ) panel.show(anchor)DomElement 但是我想将面板放置在窗口的右下角-我该怎么做-在哪里可以找到有关它的更多文档. 解决方案 我知道能够将面板定
..
在我的Google Chrome扩展程序中,我使用了这个漂亮的小技巧来将开发版本与生产版本区分开:
..
我正在构建一个Firefox插件,以便在YouTube加载视频页面时解析URL(例如https://www.youtube.com/watch?v=6tOQsswD4Tc ).使用Firefox的附件用于标签的api ,视频页面加载完成后,我无法捕捉到该事件.这可能是由于YT的新异步加载所致.因为如果我按F5,则可以捕获该事件.我正在使用此代码: tabs.on("ready",functio
..
我正在尝试将Chrome扩展程序移植到Firefox,我想知道什么与 chrome.storage.local.set 和 chrome.storage.local.get 等效.在Firefox中添加代码>在SDK上.我认为这是简单存储. 这是我的代码: chrome.storage.local.set({'tokenFU':token});[...]chrome.storage.lo
..
嗨,我正在尝试开发一个简单的插件,该插件在新选项卡中打开一个不同于firefox默认页面的网页.我想在about:config中更改两个默认设置值,但似乎无法通过当前配置来实现. 我正在使用firefox推荐的插件SDK来开发插件.( 我也没有更改package.json中的代码: {"name":"ff-addon","title":"ff-addon","id":"jid1-m
..