- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一些插件,并且在插件加载期间需要用户交互。准确地说,当插件加载时,会显示弹出模式对话框,用户必须通过单击“允许”或“拒绝”来允许(拒绝)插件访问外部设备。
我使用 Firebreath 的方法 FB::BrowserHost::ScheduleOnMainThread 在主线程上安排函数调用“showPopUpAlert”,对于模式对话框,我使用 Cocoa API 调用 [alert runModal] 和 [alert abortModal] 或 [alert stopModal]。
当我在一个选项卡中运行插件时,不要通过单击对话框的按钮进行应答(对话框仍然打开),并尝试在单独的选项卡中再次加载插件,对话框的新实例显示在顶部。然后我无法访问第一个打开的对话框,直到第二个对话框处于事件状态。
如果我单击第二个打开的对话框“允许”或“拒绝”,它将关闭,第一个对话框仍处于事件状态。
当我尝试关闭两个打开的选项卡之一时出现问题。
1) 如果我关闭第二个打开的选项卡,它们的弹出对话框将关闭,并且下面第一个打开的对话框仍将处于事件状态。 2)我尝试关闭第一个打开的选项卡,第二个弹出对话框将关闭,第一个打开的选项卡将处于非事件状态。
这只是 Firefox 的问题,Chrome 和 Safari 工作正常。
在 Chrome 和 Safari 上,如果一个对话框处于事件状态,整个浏览器都会被阻止,并且在打开该对话框之前无法打开新选项卡。
如果能让 Firefox 像 Chrome 和 Safari 一样工作那就太好了。您有什么建议吗?
我尝试访问浏览器窗口并使用 beginSheetModalForWindow 方法,但我在几个主题上读到这是不可能的,因为插件和浏览器在单独的线程中运行。
我的代码依赖于 taxilian's example ,请看一下,如果有人能帮助我,我将非常感激。
问候,l3r
抱歉,如果我不清楚。
我有使用该插件的示例网络应用程序。
当我运行示例应用程序时,会显示一个模式对话框 (NSAlert),其中包含一个问题:“您是否允许插件访问您的外部设备?”可以通过单击“允许”或“拒绝”按钮来回答该问题。
1) 我在 Firefox 的一个选项卡中运行示例应用程序,但没有回答问题,模式对话框仍位于顶部。
2) 我打开一个新选项卡并再次运行示例应用程序,显示新的模式对话框。现在,两个模式对话框出现在另一个前面。
3) 如果我关闭在 1) 中打开的选项卡,则 2) 中的模式对话框将关闭,并且 1) 中的模式对话框将保持非事件状态(无法回答问题)。
如果之前打开了一个模式对话框,或者如果我关闭一个选项卡,我希望阻止浏览器(Firefox)打开新选项卡,而不是关闭顶部的另一个模式对话框。是否可以?您有什么建议吗?
我希望我说得更清楚了。
问候,l3r
最佳答案
实际上不可能通过 NPAPI 插件使对话框成为真正的模态对话框;现代浏览器在单独的进程(而不是线程)中运行插件,并且 OS X 没有办法使对话框跨应用程序模式化。相反,每个浏览器都会近似其行为。
您可以针对 Firefox 提交错误,也许他们可以以不同的方式处理这种情况,但从根本上来说,设计是有缺陷的:强烈建议不要使用插件中的模式对话框,并且不能保证它会正常工作。
更好的解决方案是根本不使用模式对话框,并将您需要的任何 UI 放在插件的范围内,因为 NPAPI 插件旨在使用。
关于objective-c - NPAPI 插件 - Mac OS - 打开多个模式对话框时,[NSAlert runModal] 在 Firefox 上无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25588295/
我需要根据另一个 NSAlert 的响应来调出一个 NSAlert。但是,当我尝试从第一个的 didEndSelector 调用它时,会发生各种令人讨厌的事情(例如我的文档窗口消失以及有关打印到控制台
我需要在应用程序的第 3 次、第 10 次和第 20 次启动时显示 NSAlert,到目前为止我已尝试过: /* Note that the kLaunchCount is incremented a
Apple 最初的 HIG(遗憾的是,现已从网站上消失)指出: 对话框中最右边的按钮(操作按钮)是确认警报消息文本的按钮。操作按钮通常(但并非总是)是默认按钮 就我而言,我有一些破坏性操作(例如删除磁
我正在创建一个全屏应用程序,并且想知道是否有某种方法可以使 NSAlert 位于我创建的 CGDisplayCapture 之上。现在,NSAlert 显示在显示捕获后面。我的主窗口显示得很好(在使用
我有一个带有附件 View 和三个按钮的 NSAlert,这些按钮没有向右对齐(对于 LTR 系统),但似乎扩展到附件 View 的宽度,如下所示 同时删除附件 View ,三个按钮未正确对齐在右侧
我正在创建 Mac OS X 应用程序,并且在 NSAlert 上格式化字符串时遇到一些问题。我希望信息文本的格式如下: 某事某事某事 --------中间加粗--------- 其他事情其他事情其他
如果您在应用程序处于后台时发出 NSAlert,您的 Dock 图标就会开始弹跳,并持续弹跳,直到您切换回来。 我觉得这很烦人。 有谁知道如何为单个应用程序禁用它? 最佳答案 创建您自己的 NSApp
如何打印下面的数组以显示完整的字符串? alert.informativeText = CommandLine.arguments[4] 如果是一个单词,则打印效果很好。参数测试 Test 但是,如果
我正在尝试创建一个带有 2 个按钮的 NSAlert。 let a = NSAlert() a.messageText = "Do you want go to A or B?"
我想用beginSheetModalForWindow创建一个NSAlert,在NSWarningAlertStyle、NSInformationalAlertStyle之间的alertstyle中没
我有一个带有两个按钮的 NSAlert: var al = NSAlert() al.informativeText = "You earned \(finalScore) points" al.me
我发现一个有趣的事情:当我使用“浏览”按钮选择一个文件时,如果该文件已经存在,NSAlert会导致自动更改面板,但我想自己做这个,如何禁用NSAlert的自动更改面板?非常感谢! 最佳答案 您需要实现
我正在使用 NSAlert 要求用户启用辅助设备的辅助功能。是否有可能有一个不关闭 NSAlert 的按钮,我可以用它来打开 UniversalAccess prefpane ? 如果没有,我想我必须
我正在编写一个带有首选项面板的超酷应用程序。如果用户打开首选项面板,更改其首选项,然后关闭面板而不保存这些更改,她将收到 NSAlert,通知她可怕的后果。 NSAlert 工作表有两个按钮:“确定”
如何在 NSAlert 中添加斜体文本的某些部分? NSAlert *alert = [NSAlert alertWithMessageText:NSLocalizedString(@"Warnin
有没有办法在 NSAlert 中插入自定义图标?我知道您可以有不同的 prefabbealert 样式,但是可以 cu 最佳答案 是的。您可以使用 - (void)setIcon:(NSImage *
在 Xcode 5.0.2 中设置要显示为模式表的 NSAlert 对象时,我遇到了一个有趣的惊喜。 我计划使用 beginSheetModalForWindow:modalDelegate:didE
我有一个从 NSStatusItem 显示的 NSPopover。这个 Popover 会时不时地显示 NSAlerts。问题是这些警报总是出现在弹出窗口下方,即使它们成为关键窗口。即使我拖动它,它仍
当我显示这样的 NSAlert 时,我立即得到响应: int response; NSAlert *alert = [NSAlert alertWithMessageText:... ...]; re
NSAlert 的默认外观似乎不太理想。例如,当我单击复选框时,该复选框会消失,并且聚焦的按钮具有白色文本。 [编辑]我应该提到这是一个 Metal 应用程序。 以下是创建 NSAlert 的代码(使
我是一名优秀的程序员,十分优秀!