问题标签 [firefox-addon-restartless]
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.
javascript - 使用 loadOneTab 复制 Form 方法
如果我将表单对象动态插入页面,提交并删除表单,它工作正常。
这是表单代码的示例:
当我尝试使用 执行相同的过程时loadOneTab()
,结果POST
并不完全相同,因此结果与上述不同。
在检查标头时,“某个值”没有完全发送(被裁剪)并且它设置为Content-Length: 0
.
我肯定错过了什么。
注意: image_content 值为 'data:image/png;base64' 数据 URI
NoScript 会导致发送表单和 XSS 出现问题,我更喜欢loadOneTab
使用inBackground
javascript - 如何将 formData 传递给 loadOneTab 中的 postData?
我有一个formData
对象,想把它传递给loadOneTab()
例子:
我怎样才能将上面的对象传递给postData
javascript - XMLHttpRequest POST formData 到新选项卡
由于 ,loadOneTab()
不适用于formData
,
- 如何
formData
发布到新标签? - 上面新建的tab前/后台状态怎么设置?
只是Using FormData Objects中的一个示例:
澄清:
带有 的普通 HTML 表单target="_blank"
会将表单数据发布到新选项卡。
同样,如前所述,loadOneTab()
也可以将数据 POST 到新选项卡。
是否可以使用 XMLHttpRequest 做到这一点?
javascript - 将 URL 转换为 FileReader.readAsDataURL 的文件或 Blob
考虑以下示例:
它指出:
instanceOfFileReader.readAsDataURL(blob);
blob:要从中读取的 Blob 或文件。
如何将本地文件 URL(如
'file:///C:/path-to/root.png'
:)传递给readAsDataURL()
FileReader()
在 Firefox 插件中可用吗?
firefox-addon - HTML Form target="_blank"中的新标签可以在后台打开吗?
添加target="_blank"
到form
将在新选项卡(或窗口)中发布和打开结果。
默认情况下,新选项卡将是选定/前景选项卡。
是否可以控制/设置新标签的前景/背景状态?
注意目的是让用户可以选择使用修饰键(例如 shift 或 Ctrl)在前景或背景中打开。
该代码是 Firefox 插件的一部分(不是站点 JavaScript 的一部分)。
firefox - Firefox 插件:将 Preference 恢复为其原始值
如果一个插件在它自己的偏好分支之外改变了一个偏好,那么它应该在卸载插件时将它们恢复到之前的状态(不一定是默认状态)。
我想,必须保存当前首选项,然后在卸载时用于恢复。
运行AddonManager.addAddonListener()
似乎是一种选择(但连续运行一个进程!)。还有其他选择吗?
在自举插件中,有一个function uninstall() {}
,但它是如何在覆盖插件中完成的?
关于该主题的其他有用主题(但未完全回答此问题):
Firefox 插件:卸载插件时如何删除首选项?
在用户分支中设置首选项并在卸载时取消设置
更新 通过连续运行一个进程,我的意思是,运行一个监听器/进程,例如一个可能每年发生一次的事件。我已经想到了另一种可能更有效的方法,但由于这是一种假设情况,我没有任何东西可以测试它。
firefox-addon - Firefox FIND 的行为可以通过附加组件进行更改或增强吗?
Firefox FIND
( Ctrl+ f) 的行为是否可以通过附加组件进行更改或增强?
如果无法更改,插件如何将元素插入查找栏,使其FIND
与(Ctrl+ f)同时激活?
firefox-addon - Can I load custom jsm modules in bootstrap.js of a restartless add-on?
I'm trying to load a custom module in a restartless add-on, using the following:
chrome/content/modules/Test.jsm:
chrome.manifest:
bootstrap.js:
However, I get the following types of WARN messages (this one was for shutdown()
, but basically identical for all functions and in the earlier attempt in the global scope):
1409229174591 addons.xpi WARN Exception running bootstrap method shutdown on test@extensions.codifier.nl: [Exception... "Component returned failure code: 0x80070057 (NS_ERROR_ILLEGAL_VALUE) [nsIXPCComponents_Utils.import]" nsresult: "0x80070057 (NS_ERROR_ILLEGAL_VALUE)" location: "JS frame :: resource://gre/modules/addons/XPIProvider.jsm -> file:///test/bootstrap.js :: shutdown :: line 21" data: no] Stack trace: shutdown()@resource://gre/modules/addons/XPIProvider.jsm -> file:///test/bootstrap.js:21 < XPI_callBootstrapMethod()@resource://gre/modules/addons/XPIProvider.jsm:4232 < XPI_updateAddonDisabledState()@resource://gre/modules/addons/XPIProvider.jsm:4347 < AddonWrapper_userDisabledSetter()@resource://gre/modules/addons/XPIProvider.jsm:6647 < uninstall()@extensions.xml:1541 < oncommand()@about:addons:1 <
Are chrome.manifest
directives not yet available in bootstrap.js
? Or is what I am attempting some kind of security violation, perhaps? Or am I simply doing something trivially wrong?
What I was hoping to achieve, is that I could do something like the following:
chrome/content/modules/Test.jsm:
bootstrap.js:
Perhaps it's a bit over the top to begin with, but I just kind of like the idea of hiding implementations in modules and/or objects and keeping bootstrap.js
super clean.
If you happen to have suggestions on how to achieve this by other means: I'm all ears.
scope - JavaScript 代码模块的范围和/或持久性是什么?
尝试使用引导扩展,我试图通过在模块对象上设置一个baseUri
名为经理)。bootstrap.js
options.xul
我目前的理解是 JavaScript 代码模块一旦加载就会被持久化。但是,当我尝试从 访问baseUri
时options.xul
,它的值为undefined
。
安装.rdf:
/modules/Test.jsm:
/bootstrap.js:
/chrome/content/options.js(包含在 中/chrome/content/options.xul
):
因此,我想我未能完全理解的是,我应该能够从导出的 jsm 符号访问对象属性的确切范围和/或这些对象的确切保留方式和时间。
我的问题可能与沙盒有关吗?从附加组件管理器打开时, Firefox 是否认为options.xul
与 可能是不同的安全范围bootstrap.js
?
您能否全面了解 jsm 模块的实际范围以及我应该能够在何时何地访问 jsm 模块上的持久属性?
firefox-addon - How do I wait until all areas are registered with CustomizableUI in bootstrap.js::startup()?
I'm building a restartless add-on that is a CustomizableUI
widget.
When I call CustomizableUI.createWidget()
during startup()
, I want the defaultArea
property to be one of a selection of preferred areas. Currently I'm achieving this with something like this:
In other words: I'm checking if any preferred area is present. This works pretty much as expected, in startup()
, immediately after install, because basically then all areas of interest (from other extensions, such as Classic Theme Restorer) have registered already. However, when my add-on is already installed and Firefox starts up, CustomizableUI.areas
is not filled with all areas of interest yet (probably because my extension loads earlier than the extension that registers areas of interest).
I've tried utilizing mostRecentWindow.addEventListener( 'load', /* etc */ )
, where mostRecentWindow
is the return value of nsIWindowMediator.getMostRecentWindow( 'navigator:browser' )
, but:
- on app startup
mostRecentWindow
will benull
- on add-on install
mostRecentWindow
won't fire theload
event anymore
So, my question is: what is a simple and effective way to wait with calling CustomizableUI.createWidget()
until all relevant code has loaded?
What I ended up doing is the following (which is what Noitidart suggested as well), which seems to work:
#xA;