我正在尝试sourceFirefox插件 sdk。为此,我必须cd进入 sdk 的目录,然后运行source bin/activate. 如果我不cd进入该目录,并直接从我当前所在的任何路径获取源,则会发生以下情况:
$ 源 ~/src/devtools/addon-sdk/bin/activate 欢迎使用附加 SDK。运行“cfx docs”以获得帮助。 $cfx -bash:cfx:找不到命令
我想要一个别名,将其放入 sdk,获取它,然后返回到我当前的目录:
alias acfx='cd ~/src/devtools/addon-sdk && source bin/activate && cd "$(dirname "$0")"'
这正确地获取了 sdk,但可惜没有返回到我调用别名的目录:
$ acfx 欢迎使用附加 SDK。运行“cfx docs”以获得帮助。 目录名:非法选项 -- b 用法:目录名路径
我在这里迷路了,如何返回原来的目录?或者指定一个“工作目录” source?
我花了很多精力寻找一种简单的方法来开发 Firefox 扩展,但我无法创建扩展。请告诉我 Firefox 扩展的文件结构以及安装扩展的简单方法。
firefox-addon google-chrome-extension firefox-addon-sdk firefox-addon-webextensions
我正在尝试使用插件构建器开发firefox插件.
我想修改基于网络的邮件的邮件编辑器.(在下面的代码中,我正在尝试Yahoo! Japan的邮件服务.)
我想在用户按发送按钮时执行特定代码.
插件代码是:
main.js
var self = require("self");
var pageMod = require("page-mod");
pageMod.PageMod({
include: "*.mail.yahoo.co.jp",
contentScriptWhen: 'end',
contentScript: "document.getElementById('send_top').setAttribute('onclick', 'alert(\"blabla\")');"
});
Run Code Online (Sandbox Code Playgroud)
电子邮件编辑器页面中的按钮:
<input id="send_top" class="inputbutton" type="submit" title="Submit an email"
value="Submit" name="action_msg_send" accesskey="9">
Run Code Online (Sandbox Code Playgroud)
当用户"提交"按钮时,我想显示对话框.
是否可以在FireFox插件中跟踪keydown/keyup事件?我想实现类似于以下场景的东西:
我正在使用Addon Builder开发Firefox插件.我在我的插件面板中使用JQuery UI,并且还希望从与面板绑定的内容脚本中使用它.在面板页面一切正常.在内容脚本中,JQuery似乎可以工作,但我看不到JQuery UI调用的影响,例如下面的滑块案例.
以下是我定义面板的main.js的一部分:
var panel = require("panel").Panel({
width: 350,
height: 400,
contentURL: require("self").data.url("panel.html"),
contentStyleFile: data.url("css/jquery-ui-1.8.22.custom.css"),
contentScriptFile: [
data.url("js/jquery-1.8.0.js"),
data.url("js/jquery-ui-1.8.22.custom.min.js"),
data.url("panel.js")
]
});
Run Code Online (Sandbox Code Playgroud)
这是触发自定义事件的调用:
panel.port.emit("loadingDataEvent", t );
Run Code Online (Sandbox Code Playgroud)
在panel.js中,以下部分尝试使用JQuery和JQuery UI.JQuery调用成功完成,但尝试更新滑块对象的JQuery UI调用对任何事情都没有任何影响:
self.port.on("loadingDataEvent", function (t) {
$("#load-counter").html("<br />Not enough data yet. Approx. " + t + " secs. to go...");
$( "#progressbar" ).progressbar( "option", "value", (60-t)/60*100 );
document.defaultView.postMessage('{}', '*');
});
Run Code Online (Sandbox Code Playgroud)
在我的panel.html中,我可以使用JQuery和JQueryUI,没有任何问题,通过以常规方式包含它们:
<link type="text/css" href="css/jquery-ui-1.8.22.custom.css" rel="Stylesheet" />
<script type="text/javascript" src="js/jquery-1.8.0.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.22.custom.min.js"></script>
... …Run Code Online (Sandbox Code Playgroud) 我创建了一个greasemonkey脚本,并希望在我的主页上提供"安装Greasemonkey"按钮.该按钮应该从重定向在addons.mozilla.org安装火狐插件Greasemonkey的备用和用户.在他们安装了greasemonkey后,我提供了一个"安装greasemonkey脚本"按钮,该按钮已经可以使用了.
是否可以直接在我的主页上添加"安装greasemonkey"按钮?理想情况下,将使用托管addons.mozilla.org上的插件,我不会在我自己的主机Greasemonkey的.
我正在编写一个使用context-menu和page-mod模块的Firefox插件.
当上下文是输入控件时,此附加组件将新菜单项添加到上下文菜单.单击菜单项时,我向服务器请求获取一些数据并将结果推送到page-mod正在使用的内容脚本.
由于某种原因,onAttach函数没有被调用.控制台中没有错误.我不确定为什么没有被召唤.这就是我在做的事情.
var data = require("self").data,
contextMenu = require("context-menu"),
request = require("request").Request;
var workers = [];
var pageMod = require("page-mod");
pageMod.PageMod({
include: '*',
contentScriptWhen: 'ready',
contentScriptFile: [data.url("jquery-1.8.2.min.js"), data.url("varnam.js")],
onAttach: function(worker) {
console.log("onAttach");
workers.push(worker);
worker.on("detach", function() {
var index = workers.indexOf(worker);
if (index >= 0) workers.splice(index, 1);
});
}
});
Run Code Online (Sandbox Code Playgroud)
解决这个问题的任何帮助都会很棒.完整代码可在此处获得.
在chrome扩展开发中,我们可以localStorage用来存储我们需要的东西.我可以localStorage在使用Addon-Builder的firefox插件开发中使用吗?我看过很多firefox插件项目使用simple-storage,simple-storage和之间的区别是localStorage什么?
javascript html5 local-storage google-chrome-extension firefox-addon-sdk
将对象附加到window活动选项卡中时main.js,出现以下错误:
Message: TypeError: getBrowserForTab(...) is undefined
Run Code Online (Sandbox Code Playgroud)
这是我用来附加对象的代码:
var { getTabs, getTabContentWindow } = require('sdk/tabs/utils');
tabs.on('load', function(tab) {
var window = getTabContentWindow(tab);
window.myObject = {
data: "sample"
}
});
Run Code Online (Sandbox Code Playgroud) 在firefox扩展中我想截取url浏览器正在发出请求并在某些条件匹配时完全阻止请求
我该如何拦截被请求的URL
firefox ×5
javascript ×4
bash ×1
firefox-addon-webextensions ×1
greasemonkey ×1
html5 ×1
jquery ×1
jquery-ui ×1