【问题标题】:How do I create a new Window in electron js such that the original window is unusable until i close the new window?如何在电子 js 中创建一个新窗口,以使原始窗口在我关闭新窗口之前无法使用?
【发布时间】:2018-07-11 22:48:26
【问题描述】:

我尝试创建一个新窗口,但这允许用户最小化创建的新窗口并使用原始代码。当用户单击“设置”时,它会创建一个新窗口。 我将在此处附上我的代码 sn-p:

<nav>
  <div class="nav-wrapper">
    <a href="" class="brand-logo center">Elderly Healthcare System</a>
    <ul id="nav-mobile" class="left hide-on-med-and-down">
      <li><a href="#">Home</a></li>
      <li><a onclick= "newWindow()" href="#">Settings</a></li>
      <li><a href="#">Logout</a></li>
    </ul>
  </div>
</nav>

这里是函数newWindow()

function newWindow(){
  window.open('settings.html',"","height = 300,width = 300")
}

【问题讨论】:

  • 我认为您正在寻找“模态”一词。
  • 不要打开新窗口;而是显示一个覆盖&lt;div&gt;(捕捉“弹出”之外的点击)和一个&lt;settings&gt; div(实际的弹出/对话框/模态)。使用&lt;iframe&gt; 显示单独的文档。
  • 如果您坚持不在 html 世界中解决它,请参阅this:“BrowserWindow 的创建可通过 WebContents 的 new-window 事件进行自定义。”

标签: javascript html node.js electron


【解决方案1】:

您需要使用模态 - https://getbootstrap.com/docs/4.0/components/modal/

要禁用背景点击或强制用户点击弹出窗口上的按钮,您需要使用 static 关键字。

如果你通过js打开模态框使用:

$('#myModal').modal({backdrop: 'static', keyboard: false})  

或者通过 HTML

<button data-target="#myModal" data-toggle="modal" data-backdrop="static" data-keyboard="false">
Launch demo modal </button>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-18
    • 1970-01-01
    • 2011-01-19
    相关资源
    最近更新 更多