Firefox插件开发,打开一个隐藏的网络浏览器
Firefox addon development, open a hidden web browser
我正在开发一个Firefox插件,如何打开一个对用户隐藏的web浏览器,但我可以在插件代码中用Javascript编写脚本?
SDK用户应该使用page-worker
模块。
XUL加载项可以在某个地方插入XUL <iframe type="content">
并使其隐藏(例如.style.display = "none";
)。此外,您可能希望禁用<iframe>
中的图像/插件/脚本。
假设window
是XUL窗口,例如browser.xul
,下面是一个从隐藏的<iframe>
:读取网站标题的示例
function readTitleFromPage(uri, callback) {
callback = callback || function() {};
let frame = document.createElement("iframe");
frame.setAttribute("type", "content");
frame.style.display = "none";
document.documentElement.appendChild(frame);
let docShell = frame.contentWindow.
QueryInterface(Ci.nsIInterfaceRequestor).
getInterface(Ci.nsIWebNavigation).
QueryInterface(Ci.nsIDocShell);
docShell.allowImages = false;
docShell.allowPlugins = false;
frame.setAttribute("src", uri);
let load = function load(e) {
try {
if (e.type == "load") {
callback(frame.contentDocument.title);
}
else {
callback(null);
}
}
finally {
// Always remove event listeners and the frame itself, at some point.
// In this example, we don't need the frame anymore, beyond this point,
// so remove it now.
frame.removeEventListener("load", load, false);
frame.removeEventListener("error", load, false);
frame.removeEventListener("abort", load, false);
frame.parentElement.removeChild(frame);
}
};
frame.addEventListener("load", load, false);
frame.addEventListener("error", load, false);
frame.addEventListener("abort", load, false);
}
当然,你可以在框架周围保留多久,重复使用多少次,等等。但确保在不再需要它时将其移除,以节省资源(内存、CPU)。在不需要时将其重置为about:blank
可能也是一个不错的选择。
相关文章:
- 一次显示一个隐藏指令-AngularJS
- jQuery toogle-一个打开,另一个隐藏-在代码中的任何位置
- 两个提交按钮(一个隐藏,一个可见)
- 获取下一个或上一个隐藏元素的高度,以设置父元素的高度.jquery.
- 如果我们在5秒后有一个隐藏间隔,则无法获取Growl消息
- 将所有表单克隆到另一个隐藏元素的不同表单并提交
- Firefox插件开发,打开一个隐藏的网络浏览器
- 选择上一个隐藏元素
- 我在表单页面上有一个弹出窗口以及一个隐藏元素,具体取决于用户输入.两者都使用 jquery
- 验证表单,然后使用 jQuery 显示另一个隐藏表单
- 如果ID丢失,请使用jquery填充另一个隐藏字段中的行
- 获取隐藏输入的值,发送到另一个隐藏输入
- 如何在剑道网格中添加、更新或删除记录时添加一个隐藏字段
- 适用于Chrome,但不适用于Safari——这是一个隐藏的DIV,只在提交带有所有必需字段的表单时显示
- 我怎样才能做一个隐藏的
行,同时从json数据创建HTML表 - 将选中的dropDownList文本声明为一个隐藏字段,以便它可以与JS一起使用
- 如何获得文本包围的一个span标签,并保存到一个隐藏的输入值,当我点击跨度
- 在返回字符串的getter上有一个隐藏属性
- 点击显示一个隐藏所有其他JS或CSS或"切换"
- 我如何做一个隐藏的,浮动的加载Div在移动浏览器上点击后退按钮后再次从页面隐藏