javascript - 在新窗口中打开一个 div - 单击按钮

标签 javascript jquery angularjs

伙计们,我正在尝试在新窗口中打开一个 div,我尝试使用 window.open ,它按预期工作。

HTML:

<div id="pass">pass this to the new window</div>
<a href="#" onclick="openWin()">click</a>

JS:

  function openWin() {
    var divText = document.getElementById("pass").outerHTML;
    var myWindow = window.open('', '', 'width=200,height=100');
    var doc = myWindow.document;
    doc.open();
    doc.write(divText);
    doc.close();
  }

http://jsfiddle.net/KZYJU/

问题:如果窗口已经打开,当我再次单击按钮时,它不应该再次打开新窗口。 用户应该只能看到一个窗口。 就我而言,如果我单击按钮 10 次,就会打开 10 个窗口。

请大家帮我解决这个问题。

最佳答案

你可以这样做:

  var popup;

  function openWin() {
    if (popup && !popup.closed) {
      popup.focus();
      /* or do something else, e.g. close the popup or alert a warning */
    } else {
      var divText = document.getElementById("pass").outerHTML;
      popup = window.open('', '', 'width=200,height=100');
      var doc = popup.document;
      doc.open();
      doc.write(divText);
      doc.close();
    }
  }

这将检查弹出窗口是否打开,如果是,则将其聚焦。

<强> Demo

关于javascript - 在新窗口中打开一个 div - 单击按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56110567/

相关文章:

javascript - 将动态内容加载到页面

javascript - jQuery 和 css 中的下拉菜单问题

css - 使用 angularJS 将 xeditable 内文本区域的宽度设置为 100%

javascript - AngularJS $ViewContentLoaded : Any way to make it animate differently depending on UI-Router State?

javascript - 内联 SVG 和 jQuery 选择

javascript - Promise.allSettled 永远卡住

javascript - 如何从 URL : http://www. 获取 "foo"loremipsum.com/mysite.html#foo

javascript - 我怎样才能将我的jquery变量值打印到div中,但是我在名为count的变量中得到了我的值

javascript - AJAX查询后格式化字段

javascript - 从异步调用中只获取一个对象