Firefox Addon SDK调用js函数
Firefox Addon SDK call js functions
我有一个带有有效回调结构的插件:
lib/main.js:
function myLogin(loginname,loginfield) {
var pageUrl = tabs.activeTab.url;
var data = require("sdk/self").data;
var worker=tabs.activeTab.attach({
contentScriptFile: data.url("content.js"),
onAttach: function(worker) {
console.log("pageMod.onAttach");
}
});
worker.port.emit("doLogin", loginfield);
}
data/content.js:
self.port.on("doLogin", function(loginfield) {
document.getElementById(loginfield).value="moo";
document.getElementById(loginfield).focus();
showSignInCaptcha();
});
我得到了所有这些都是通过单击 sidebar.html 中的按钮触发的,这里没有描述,我将最终调用 myLogin()。登录字段是在选项卡中打开的网站上的一个字段。 showSignInCaptcha() 是一个 Javascript 例程,由在选项卡中打开的网站提供。
什么有效/无效:
- 我可以用 "moo"
填写登录字段
- 我无法调用函数 showSignInCaptcha()
如何使该函数调用起作用?
想通了:
unsafeWindow.showSignInCaptcha();
完成任务。在 SDK 文档中发现:Access objects defined by page scripts
我有一个带有有效回调结构的插件:
lib/main.js:
function myLogin(loginname,loginfield) {
var pageUrl = tabs.activeTab.url;
var data = require("sdk/self").data;
var worker=tabs.activeTab.attach({
contentScriptFile: data.url("content.js"),
onAttach: function(worker) {
console.log("pageMod.onAttach");
}
});
worker.port.emit("doLogin", loginfield);
}
data/content.js:
self.port.on("doLogin", function(loginfield) {
document.getElementById(loginfield).value="moo";
document.getElementById(loginfield).focus();
showSignInCaptcha();
});
我得到了所有这些都是通过单击 sidebar.html 中的按钮触发的,这里没有描述,我将最终调用 myLogin()。登录字段是在选项卡中打开的网站上的一个字段。 showSignInCaptcha() 是一个 Javascript 例程,由在选项卡中打开的网站提供。
什么有效/无效:
- 我可以用 "moo" 填写登录字段
- 我无法调用函数 showSignInCaptcha()
如何使该函数调用起作用?
想通了:
unsafeWindow.showSignInCaptcha();
完成任务。在 SDK 文档中发现:Access objects defined by page scripts