【问题标题】:best option for firefox extension to keep panel / overlay / sidebar visible between pages?Firefox 扩展保持面板/覆盖/侧边栏在页面之间可见的最佳选择?
【发布时间】:2015-02-01 14:39:36
【问题描述】:

每当用户与页面交互时,Firefox SDK 面板就会消失。有没有人建议可以继续工作的最佳方法,使面板、叠加层或侧边栏之类的东西在用户更改页面时保持活动状态?

从我读到的内容来看,XUL 覆盖似乎可以持久化,但我不确定这是否会在未来得到支持,因为重点似乎是高和低级别的 SDK。

我希望使用我的 main.js(或 javascript 组件)中的 ajax 数据填充此面板 - 并来回发送消息。感谢您的任何建议。

【问题讨论】:

    标签: firefox-addon firefox-addon-sdk


    【解决方案1】:

    您可以尝试将面板的noautohide 属性设置为true,为此您必须访问underlying view(链接的API 也应该在面板上工作)。虽然根据我的经验,这会导致一些烦人的聚焦副作用,至少在 linux 下是这样。

    或者,您可以尝试open a new windowalwaysRaised=true,resizable,hidechrome=true,titlebar=no,close=no 标志。虽然它仍然会有窗口边框,但我不知道如何禁用它们。

    【讨论】:

    • 谢谢!看起来 xul 面板可以解决问题!您的链接将我带到stackoverflow.com/questions/21509460/… - 这让我可以拥有一个保持可见的面板。
    • 我对你提到的第一种方法有点困惑。我会先使用 SDK 添加面板,然后在将其转换为 DOM 窗口后更改面板的 noautohide 属性吗?
    • 您可以将其转换为具有相同 API 的 XUL <panel>
    • 如果我像这样创建面板,如何将其转换为 XUL 面板以更改 noautohide 属性? var panel = require("sdk/panel").Panel({ contentURL: require("sdk/self").data.url("test.html"), position: { bottom: 0 }, width: browserWidth }) ;
    • 我认为就我的目的而言,侧边栏可能是要走的路,因为当用户点击页面时它会保持活动状态。感谢您的建议。
    猜你喜欢
    • 1970-01-01
    • 2010-09-29
    • 2013-09-30
    • 2017-07-19
    • 2012-04-23
    • 1970-01-01
    • 2021-05-03
    • 2013-05-15
    • 1970-01-01
    相关资源
    最近更新 更多