gpt4 book ai didi

firefox - 如何创建类似 Firebug 的底部窗口 Firefox 扩展

转载 作者:行者123 更新时间:2023-12-04 04:47:58 24 4
gpt4 key购买 nike

一些扩展提供了一个“底部窗口”来查看它们的内容。 Firebug 和 ScribeFire 是主要内容出现在浏览器底部的好例子。这似乎与浏览器中的侧边栏功能非常相似。

是否有最佳实践/方法在扩展程序中创建底部窗口,因为浏览器没有“底部侧边栏”?

最佳答案

您将使用 Overlay 创建扩展 UI。在覆盖中,您可以指定 UI 相对于主浏览器页面 browser.xul 的插入点。

摘自 Firefox 的主页 browser.xul 我们有

<vbox id="appcontent" flex="1">
<tabbrowser id="content" disablehistory="true"
flex="1" contenttooltip="aHTMLTooltip"
contentcontextmenu="contentAreaContextMenu"
onnewtab="BrowserOpenTab();"
autocompletepopup="PopupAutoComplete"
ondragdrop="nsDragAndDrop.drop(event, contentAreaDNDObserver);"
onclick="return contentAreaClick(event, false);"
/>
</vbox>

并摘自我们之前版本的 Firebug 文件 browserOverlay.xul
<vbox id="appcontent">
<splitter id="fbContentSplitter" collapsed="true"/>
<vbox id="fbContentBox" collapsed="true" persist="height">
<toolbox id="fbToolbox">
<toolbar id="fbToolbar">
<toolbarbutton id="fbFirebugMenu" type="menu">
<menupopup onpopupshowing="return FirebugChrome.onOptionsShowing(this);">
<menuitem label="&firebug.DisableFirebug;" type="checkbox"
oncommand="FirebugChrome.onToggleOption(this)" option="disabledAlways"/>
<menuitem type="checkbox"
oncommand="FirebugChrome.onToggleOption(this)" option="disabledForSite"/>
<menuitem label="&firebug.AllowedSites;" command="cmd_openFirebugPermissions"/>
<menuseparator/>

<menu label="&firebug.TextSize;">
<menupopup>
<menuitem label="&firebug.IncreaseTextSize;"
oncommand="Firebug.increaseTextSize(1)"/>
<menuitem label="&firebug.DecreaseTextSize;"
oncommand="Firebug.increaseTextSize(-1)"/>
<menuitem label="&firebug.NormalTextSize;" oncommand="Firebug.setTextSize(0)"/>
</menupopup>
</menu>

<menu label="&firebug.Options;">
<menupopup onpopupshowing="return FirebugChrome.onOptionsShowing(this);">
<menuitem type="checkbox" label="&firebug.AlwaysOpenInWindow;"
oncommand="FirebugChrome.onToggleOption(this)"
option="openInWindow"/>

<menuitem type="checkbox" label="&firebug.ShowTooltips;"
oncommand="FirebugChrome.onToggleOption(this)"
option="showInfoTips"/>

<menuitem type="checkbox" label="&firebug.ShadeBoxModel;"
oncommand="FirebugChrome.onToggleOption(this)"
option="shadeBoxModel"/>
</menupopup>
</menu>
<menuseparator/>

<menuitem label="&firebug.Website;" oncommand="Firebug.visitWebsite('main')"/>
<menuitem label="&firebug.Documentation;" oncommand="Firebug.visitWebsite('docs')"/>
<menuitem label="&firebug.Forums;" oncommand="Firebug.visitWebsite('discuss')"/>
<menuseparator/>
<menuitem label="&firebug.Donate;" oncommand="Firebug.visitWebsite('donate')"/>
</menupopup>
</toolbarbutton>

<toolbarbutton id="fbDetachButton" class="toolbarbutton-iconic"
tooltiptext="&firebug.DetachFirebug;" command="cmd_detachFirebug"/>

<toolbarbutton id="fbCloseButton" class="toolbarbutton-iconic"
tooltiptext="&firebug.CloseFirebug;" command="cmd_toggleFirebug"/>
</toolbar>
</toolbox>

<hbox id="fbPanelBox" flex="1"/>
<hbox id="fbCommandBox"/>
</vbox>
</vbox>

请注意,XUL 标记的两个块都以
<vbox id="appcontent".../>

这是 Gecko 引擎用来确定叠加如何与被叠加的页面配合在一起的内容。如果您查看 browserOverlay.xul,您还会看到 commandset, statusbar 的其他插入点。 , 等等。

更多信息请引用 Mozilla Developer Center .

关于firefox - 如何创建类似 Firebug 的底部窗口 Firefox 扩展,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/174243/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com