您如何在 javascript 中捕获 Mac 菜单栏选择?

Posted

技术标签:

【中文标题】您如何在 javascript 中捕获 Mac 菜单栏选择?【英文标题】:How do you capture Mac menu bar selections in javascript? 【发布时间】:2014-06-05 00:29:52 【问题描述】:

我需要在我的网络应用程序中执行全选。它不是用于 html 表单输入元素,而是用于我在画布中绘制的元素。捕获 ctrl-A 按键没有问题,但是当他们选择 Edit/Select-All 时,我还需要捕获 Mac 中的菜单栏(屏幕顶部)选择。我疯狂地用谷歌搜索,但我找不到任何关于在 javascript 中捕获 Mac 菜单栏操作的一般参考。

这个问题 (How to capture menu selection events) 对 Mac 菜单项“查找”提出了同样的问题。答案具体说您无法捕获查找。但是是否可以捕获任何其他菜单项,例如全选?

我正在使用铬。 chrome 是否只是假设应用程序开发人员不能使用 Mac 菜单栏选择?

【问题讨论】:

【参考方案1】:

您不能像这样捕获浏览器事件。浏览器内容(您的网页)在浏览器内部被沙箱化,以阻止人们运行可能影响浏览器的代码(例如接管它、做恶意事情等)。

您必须简单地做您正在做的事情并注意按键。

顺便说一句,我想实际点击该菜单项的人的百分比非常小。

【讨论】:

报告此“错误”的用户说他们不知道全选有键盘快捷键。他们一直使用顶部菜单栏。去图吧。 顺便说一句,我在 Chrome 上测试了一个谷歌文档文字处理器文档,菜单栏全选也不起作用。如果谷歌不能让它在他们自己的浏览器中运行,那么它一定是不可能的。我很惊讶没有关于此的错误报告。它只是看起来坏了。 @mark-hahn 这不是一个错误,而是一个功能。老话我知道,但是当你进入它时,它是一个安全功能,正如我上面解释的那样。如果你允许人们接管浏览器的功能,他们可以在用户不想的时候从网页上运行各种各样的东西!没有这个就有足够的网络钓鱼! PS:如果这个解决方案是您问题的答案,请接受它,以便其他人看到它。

以上是关于您如何在 javascript 中捕获 Mac 菜单栏选择?的主要内容,如果未能解决你的问题,请参考以下文章

Wireshark - 您无权在该设备 mac 上进行捕获

如何将 Mac 置入睡眠状态或唤醒 Mac?

jQuery:如何在文本框中捕获 TAB 按键

如何使用JavaScript捕获iOS上的隐藏键盘事件

如何在Mac中使用Visual Studio中的异常捕获日志?

您可以使用 JavaScript 从 Opera Mini 中的 5 向方向按钮捕获事件吗?