问题标签 [firefox-addon-webextensions]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
firefox-addon-webextensions - 如何以编程方式下载使用 Firefox WebExtension 在文件上创建的文件?
我正在尝试使用 Firefox 45.0.1 移植以编程方式创建文件并将文件下载到 Firefox WebExtension 的 Chrome 扩展。
这是 Javascript 代码:
所有行似乎都执行得很好,但没有下载文件(我在console.log()
之后放了一个a.click()
)。
到目前为止,Firefox WebExtensions 中没有 chrome.downloads API。
上面的代码中是否有与 Firefox 不兼容的地方?是否有其他替代方法可以使用 Firefox WebExtension 以编程方式下载文件?
javascript - Chrome 扩展 sendMessage 和异步回调
我构建了一个 Chrome 扩展程序,sendRequest
用于将消息从内容页面发送到弹出窗口,并获得回调。
内容.js:
popup.js:
所有这一切都很好。
但sendRequest
已弃用,需要替换为sendMessage
(为了支持 Firefox)
我做了几乎相同的事情(文档与Mozilla docsendMessage
完全相同)sendRequest
sendMessage
内容.js:
popup.js:
但现在,它不起作用。侦听器函数一结束,就会调用不带参数的回调,并且异步函数无法发送其结果。
有没有办法在 Firefox 中做同样的事情?
runtime - 扩展支持 browser.runtime.connectNative
我们想用插件替换扩展名,但我们需要使用扩展名来下载文件并启动文件,例如 exe 文件。有什么方法可以做吗?正如页面所说,Firefox 扩展将与 Chrome 的扩展兼容,我们发现 Firefox 支持大多数 API,但不支持 runtime.connectNative() 和一些原生 API。Firefox 是否支持它们?如果支持,什么时候支持?以及如何支持 Native 的扩展?
javascript - WebExtension:如何在浏览器操作中访问后台脚本
我对 WebExtension 完全陌生(试图在 Firefox 下使用它们)。我写了一个浏览器动作。为了保持持久状态,我认为我必须实现一个后台脚本。
如何从浏览器操作脚本访问后台脚本中定义的变量?
还是假设后台脚本可以包含浏览器操作的状态是错误的?
javascript - Firefox WebExtension 导入服务
我对这么多不同的方法、指南感到不知所措,但我没有一个尝试为我工作。请为我连接至少一些点...
我的目标是在 Firefox WebExtension 的后台脚本中找到一个窗口对象。
问题,我无法导入Services
库来使用它来查找window
对象。
我尝试了两种方法:
Components.utils.import("resource://gre/modules/Services.jsm");
给出一个被贬低的警告Components
,并且一个错误:Components.utils
未定义。const { Cu } = require("chrome"); let Services = Cu.import("resource://gre/modules/Services.jsm");
引发require
未定义的错误。
那是一个后台脚本,为我指明正确的方向,如何导入我需要使用的正确库/接口?
javascript - 未捕获的异常:未知(无法转换为字符串)
我正在为 Firefox 浏览器插件编写代码,并尝试使用 chrome API 更新 cookie 的值。在调用 chrome.cookies.set 方法时,它会在控制台上返回以下错误。
错误:未捕获的异常:未知(无法转换为字符串)
API 参考:https ://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/cookies/set
firefox - tabs.open() 函数如何与单独的内容脚本文件一起使用?
我正在创建类似于 chrome 搜索的 Firefox 插件。如何使用带有“url”选项的 browser.tabs.create() 函数?
我读过这篇文章。但是在这里,没有关于如何使用变量 url 创建此选项卡的文档。
javascript - 无法在 Firefox WebExtension 中扩展本机对象?
我一直在尝试将工作的 Chrome WebExtension 移植到新的 Firefox WebExtension 平台。我的延期被拒绝了,其中一个原因是:
不允许扩展 Object、Array 和 String 等原生对象的原型,因为这可能会导致与其他插件或浏览器本身的兼容性问题。
这听起来很奇怪。不是每个扩展都生活在自己的环境中吗?如果我用 .MyFavoriteFunction() 扩展 String,我不希望计算机上的所有其他网页和扩展都能够使用它!
google-chrome-extension - 检测后台脚本卸载
对于我的 chrome 和 firefox 扩展,我需要一种方法来确定后台脚本是否已卸载或正在卸载。发生这种情况时是否会触发事件?我浏览了 stackoverflow 上的多个链接,甚至浏览了一些官方的 chromium bug 链接,但找不到具体的答案。后台脚本不支持 beforeunload 并且关闭窗口并不能保证浏览器已关闭,因为如果扩展程序具有“后台”权限,则后台脚本仍将在后台运行。我现在能做什么?
firefox - Firefox WebExtensions 和跨域权限
我正在尝试使用 Firefox 中相对较新的WebExtensions将 chrome 扩展移植到 Firefox。
我总是收到以下错误
跨域请求被阻止:同源策略不允许读取远程资源 ....(原因:缺少 CORS 标头“Access-Control-Allow-Origin”)
我添加了我想访问 manifest.json 中的权限部分的网站,就像网站上解释的那样,也在谷歌浏览器上工作。
通常它应该以这种方式工作,至少它在https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts#Cross-domain_privileges上是这样解释的
我会非常感谢任何帮助,因为我没有想法。