2016-05-16 54 views
1

我直接从Mozilla Firefox的about.xul文件中获取该属性,该文件显示关于关于附件的对话框。这是一个相对简单的XUL对话框,没有输入,从DTD实体中提取语言环境数据,字符串包的属性和JavaScript。XUL对话框属性buttoniconaccept(以及类似的)的说明

<!-- omni.ja!/chrome/toolkit/content/mozapps/extensions/about.xul --> 
<!-- chrome://mozapps/content/extensions/about.xul --> 

<dialog id="genericAbout" 
    xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" 
    onload="init();" 
    buttons="accept" 
    buttoniconaccept="close" 
    onaccept="close();"> 

MDN: Dialogs and PromptsMDN: dialog都提到一些有关属性,它们通过连接(伪正则表达式)而形成:

"button" + "(label|accesskey|oncommand)" + "(accept|cancel|disclosure|help|extra[12])"

例如:buttonlabelaccept

但是,我找不到任何关于使用任何icon文档。字icon甚至不显示在上述任何一页上!它有什么作用?什么是使用它的正确方法?

我试图让我的附加有关页面更加模块化,而不omni.ja(R),其拉动的与不需要的代码有很多加载内部文件。我正在开发一个非常简化的版本,根据调用的上下文来适当调整自己的版本。

我希望它看起来像Firefox的官方关于< addon.name>对话框,如果从大约叫做:插件上下文菜单,或从我的附加的状态栏的上下文菜单。如果从选项对话框中查看XUL中的iframe,我需要稍微不同的外观。我已经有了这个结构。只是调整小怪癖。

这不是关键的设计或功能明智的,事实上整个API将在几个月后消失,但它只是困扰我不真正理解这一点,所以我想弄明白在我放弃它之前转向更重要的事情。但是,如果我绝对找不到答案,我会。但这是那些愚蠢的小事情之一,会打扰我不成比例的数额。 = d

如果你可以点我的文档我可能已经错过了,甚至具体Mozilla的源代码和几个例子,或者一个更完整的解释和典型应用案例,这将是巨大的。

回答

1

如果您检查about.xul的"blame",您会看到该行为added以修复bug 422763。在bug从截图来看,GNOME(Linux)的有(有?)将图标上的对话框按钮的惯例,而这个属性允许覆盖默认的图标(从按钮类型推断)。

如果你search for buttonicon,你会发现在toolkit/content/widgets/dialog.xmlcode that handles this attribute

+0

另一个[通过moziilla的代码搜索示例](http://stackoverflow.com/questions/36507832/how-can-i-find-firefox-code-that-opens-add-new-bookmark-window)既然你似乎喜欢钻研的事物如何运作的细节:)可能是有用的, – Nickolay

+0

好,谢谢!按钮+图标+(接受|取消|披露|帮助| extra1 | extra2)我认为是可能的价值观。我一直在挖,直到我明白,或不知道如何挖掘了。我喜欢当我看到第一个doc文件停止挖掘,因为一切都是奇妙的解释,让我能够快速,轻松地确定写什么代码来实现的任务,但舒美特^ H^H^H^H^Husually这不是案件。^_ ^ – user314159