【问题标题】:Modal Dialog in Google Chrome ExtensionGoogle Chrome 扩展程序中的模态对话框
【发布时间】:2011-12-02 09:32:28
【问题描述】:

我需要一个真正的模态对话框才能在 Windows 中使用扩展程序在 Google Chrome 中运行,其中该对话框不允许用户单击其他选项卡等。到目前为止的搜索结果似乎表明 showModalDialog() 没有给出一个真正的模态对话框,而 jQuery 示例(如 SimpleModal)似乎无法阻止用户访问其他选项卡或浏览器的其他部分。

警报似乎正在起作用,所以我想知道是否有其他解决方案可以解决此问题?还是我真的需要使用 Javascript 从头开始​​编写模式对话框?

在网页中使用隐藏的 div 方法不是一个选项,因为我无法修改它们。

【问题讨论】:

    标签: google-chrome-extension modal-dialog


    【解决方案1】:

    您可以简单地使用本机javascript函数confirm 但我不喜欢没有正当理由就不能做我想做的事。 此外,用户可以随时切换到另一个 Chrome 窗口。

    【讨论】:

    • 模态对话框需要自定义,所以无法使用alert或confirm。
    • 可以在切换到所需窗口的每个页面上使用内容脚本加载。这个窗口还应该包含一个自定义的 html 对话框。
    【解决方案2】:

    选项卡内的 HTML 模态对话框不会阻止用户切换选项卡。甚至alert 也允许用户切换标签。不过,您也许可以通过NPAPI plugin 实现这一目标。

    【讨论】:

    • 我的意思是从扩展启动它。我认为如果从扩展程序启动警报是模态的(来自快速实验),但我可能弄错了。
    • 我刚刚从背景页面创建了一个alert,它会留在前面,但我仍然可以切换标签。
    • 我所做的是从后台页面执行一个 .js 文件,然后从该 javascript 文件运行警报。这种方法似乎可以防止标签以某种方式切换。
    • 我应该指定我使用的是 Windows。将编辑初始帖子。我不确定这种行为是否因操作系统而异。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多