Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Firefox addon 将外部XUL文件注入tabpanel_Firefox Addon_Xul - Fatal编程技术网

Firefox addon 将外部XUL文件注入tabpanel

Firefox addon 将外部XUL文件注入tabpanel,firefox-addon,xul,Firefox Addon,Xul,我正在开发一个旧的基于XUL的插件,发现有一个about.XUL文件正在使用。如果右键单击加载项并从关联菜单中选择“关于”,则可从“关于:加载项”页面使用此文件。好啊该加载项有一个带有自己上下文菜单的图标,该菜单也有一个about选项,其中about.xul可以从menuitem->oncommand->window.openDialog()访问 同样,这很公平,我可以不经修改地重用相同的XUL文件。但是,这两个选项对用户来说可能不那么明显。该插件有一个带有一些tabbox->tabpane

我正在开发一个旧的基于XUL的插件,发现有一个
about.XUL
文件正在使用。如果右键单击加载项并从关联菜单中选择“关于”,则可从“关于:加载项”页面使用此文件。好啊该加载项有一个带有自己上下文菜单的图标,该菜单也有一个about选项,其中about.xul可以从menuitem->oncommand->window.openDialog()访问


同样,这很公平,我可以不经修改地重用相同的XUL文件。但是,这两个选项对用户来说可能不那么明显。该插件有一个带有一些tabbox->tabpanels的
options.xul
文件。我认为第三次重用about.xul文件会很好,只需在这里添加一个“about”面板


然后我意识到,这可能不像我想象的那么简单。

经过一点研究、尝试和错误,我添加了第三个
,里面只有一个

<tabs>
    [other tabs]
    <tab label="About"/>
</tabs>

<tabpanels>
    [other tabpanels]
    <tabpanel>
        <iframe src="chrome://{GUID}/content/about.xul" flex="1"/>
    </tabpanel>
</tabpanel>

[其他标签]
[其他专题小组]
这确实有效,而且比我最初想象的要简单得多

但是,在我的特殊情况下,CSS需要动态修改,以便在从选项面板调用About页面时,样式与选项面板匹配,而不是与默认样式匹配

现在剩下的就是在没有定义aboutURL时,有效地重新创建显示的默认“About”对话框页面。这是一个编写基本XUL代码并根据需要动态应用CSS的练习。所有这些都是通过学习将XUL注入XUL实现的——一个从3个调用上下文重用的页面。这进一步为动态生成几乎整个页面奠定了基础,这为我向SDK及以后的迁移做好了准备

<tabs>
    [other tabs]
    <tab label="About"/>
</tabs>

<tabpanels>
    [other tabpanels]
    <tabpanel>
        <iframe src="chrome://{GUID}/content/about.xul" flex="1"/>
    </tabpanel>
</tabpanel>