替代Google Chrome Web App的Javascript提示符()

时间:2014-01-20 20:33:13

标签: javascript google-chrome google-chrome-app

我目前正在使用Chrome Platform APIs和Javascript以及开发Chrome网络应用程序,我根本找不到显示提示符()对话框的方法来询问用户值,以某种方式阻止他在任何其他地方点击,直到他输入一个值并接受或取消(意思是,它是如何与Javascript一起工作的)。

我的问题是,我找不到使用Chrome平台API执行此操作的方法(请注意,无法在打包的应用中使用prompt(),alert()和confirm())。我已经检查了与我类似的问题,他们都指向Google App Script文档,该文档不适用于Chrome应用。

我真正找到的唯一“解决方案”是创建一个新窗口,启用单例,使其只能是它的一个实例并在那里显示一个表单,在用户接受时获取值(我没有真的完成了最后一部分,我需要一种方法来检查窗口是否被按钮关闭)。对于简单的对话,这仍然很有用。

是否有一种简单的方法可以解决这个问题,或者是“预期”的方法来使用多个窗口?

1 个答案:

答案 0 :(得分:4)

window.prompt有两个功能:

  1. 它请求用户输入。
  2. 它以同步方式执行此操作,即在prompt()返回之前暂停执行页面中的JavaScript。
  3. 可以模拟第一个功能,但第二个功能不能。因此,您将能够获得用户输入,但只能以异步方式。有两种方法可以提示用户输入:

    1. 弹出窗口。
    2. 在灯箱中。
    3. 灯箱类似于弹出窗口,除了它嵌入页面本身。灯箱的所有实施都涉及至少两个容器:

      1. 覆盖整个页面的div,以便用户无法点击其他任何内容。 (CSS:position:fixed;top:0;left:0;width:100%;height:100%;z-index:1000;
      2. 其他HTML元素,它们一起类似于对话框(输入字段,按钮)。
      3. 有许多现有的UI库可以显示内联对话框,例如: jQuery UI