MDN网站如何更改上下文菜单?

10

MDN(Mozilla开发者网络)网站如何更改上下文菜单?
例如,这个页面
我原以为他们创建了整个上下文菜单以在触发contextmenu事件时调用它,但这似乎有些疯狂。
而且,在Chrome上不起作用,所以我想这是Firefox专属的功能。
有人知道他们是怎么做到的吗?
输入图像描述


1
上下文菜单在我看来一样吗?你能添加一个截图吗? - Alexander O'Mara
我在问题上添加了图片。 - user3624429
我无法在Firefox 30上重现这个问题。 - Mike Koch
我现在正在使用Firefox 31.0(Beta). - user3624429
这是我在Firefox 30上看到的,左侧菜单是我在MDN上看到的,右侧菜单是我在Google上看到的。我假设@patkoala正在谈论“编辑页面”和“查看页面历史记录”的添加。http://i.imgur.com/dQ3ncKK.png - Dominic K
2个回答

10

文档有点匮乏,但它使用的是HTML5中新的contextmenu属性。它使用了现在与其HTML4的实现不同的menuHTML标签。浏览器支持不太好,但Firefox 8支持。

这是页面上显示相关HTML的DOM的屏幕截图,包括上的属性和展开的

标签。

contextmenu dom

更新:此答案先前声明Chrome 36及以上版本支持此功能,如caniuse页面先前所述。但这似乎并非事实,并且caniuse已删除此信息。


4

我刚写完一篇关于HTML5菜单和浏览器支持的文章:https://dpogue.ca/articles/html5-menu.html

简要来说:

  • Firefox使用旧的非规范type="context"属性来实现它,有一个bug让Firefox更新到新的规范。

  • Chrome根据规范实现它(type="popup"),从Chrome 41开始,但它在“实验性Web平台功能”标志之后。

由于类型属性的这种差异,基本上不可能同时针对这两种实现。虽然type="context"意味着Firefox用户将看到菜单,但它与规范相反,可能不会被其他浏览器支持。


由于某些原因,它没有列在Chromium Web平台状态页面上,但是对于任何想要跟踪它的人,这里是相关的错误 - janfoeh
Firefox漏洞:"将<menu>更新为规范" - janfoeh

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接