0
是否可以使用Firefox扩展创建OS浮动窗口?以便在浏览器失去焦点时显示窗口。谷歌搜索没有带来太多。只需要一些教程/写在这。创建os浮动窗口Firefox扩展
目标操作系统 - Mac OS X,如果它很重要。
我很抱歉,如果你发现这个问题很愚蠢。起初我想知道这样做是否可行和可行。 任何想法表示赞赏。
是否可以使用Firefox扩展创建OS浮动窗口?以便在浏览器失去焦点时显示窗口。谷歌搜索没有带来太多。只需要一些教程/写在这。创建os浮动窗口Firefox扩展
目标操作系统 - Mac OS X,如果它很重要。
我很抱歉,如果你发现这个问题很愚蠢。起初我想知道这样做是否可行和可行。 任何想法表示赞赏。
从萤火虫工作组的像素完美延伸正是这样做的 - 请参见本文件为全面实施:
https://github.com/firebug/pixel-perfect/blob/master/lib/pixel-perfect-popup.js
的核心代码创建弹出在一种称为“ createPanel'on line 149:
createPanel: function() {
let browser = getMostRecentBrowserWindow();
let doc = browser.document;
this.panel = doc.createElementNS(XUL_NS, "panel");
this.panel.setAttribute("id", "pixel-perfect-panel");
this.panel.setAttribute("noautohide", "true");
this.panel.setAttribute("titlebar", "normal");
this.panel.setAttribute("noautofocus", "true");
this.panel.setAttribute("label", Locale.$STR("pixelPerfect.title"));
this.panel.setAttribute("close", "true");
this.panel.style.border = "0";
this.panelFrame = doc.createElementNS(XUL_NS, "iframe");
this.panelFrame.setAttribute("type", "content");
this.panelFrame.setAttribute("border", "0");
this.panelFrame.setAttribute("flex", "1");
// xxxHonza: unregister listeners?
DomEvents.on(this.panel, "popuphidden", this.onPopupHidden);
DomEvents.on(this.panel, "popupshown", this.onPopupShown);
this.panelFrame.setAttribute("src", self.data.url("./popup.html"));
this.panel.appendChild(this.panelFrame);
let container = doc.getElementById("mainPopupSet");
container.appendChild(this.panel);
// Load content script and handle messages sent from it.
let { messageManager } = this.panelFrame.frameLoader;
if (messageManager) {
let url = self.data.url("popup-frame-script.js");
messageManager.loadFrameScript(url, false);
messageManager.addMessageListener("message", this.onMessage);
messageManager.addMessageListener("sdk/event/ready", this.onPanelReady);
}
return this.panel;
},
感谢提示,但面板在浏览器丢失时会失去焦点。然后选择面板窗口将整个浏览器窗口返回。我的问题是 - 是否有可能在其他操作系统窗口的顶部显示该面板?某种浮动或粘滞的窗口。 – iurii 2015-03-03 08:21:33