【问题标题】:Highlight the minimize the browser window突出显示最小化浏览器窗口
【发布时间】:2019-07-18 06:55:42
【问题描述】:

我创建了一个自定义呼叫信使,它运行良好,没有任何问题。

我需要建议我何时最小化 Messenger 浏览器窗口,如果有任何来电,我想在弹出该窗口或突出显示方面显示某种指示。

我试过window.focus,如果窗口没有焦点,它可以工作,但是当它最小化时它就不起作用了。

有没有其他方法可以向特定窗口显示任何指示。

【问题讨论】:

  • 您在哪个浏览器中测试?
  • 目前在 chrome 上工作,但在任何浏览器上都不能工作。
  • 我在 codepen 中做了这个实验:codepen.io/HerrSerker/pen/5c2fc4eaab757284012801ce27d4a8e2 我在 Windows 上的 Chrome、Firefox、Edge、IE11 中工作。我可以专注于源窗口中的所有新窗口。但是,您的问题可能就是这种情况:如果您重新加载原始窗口,则对新窗口的所有引用都将丢失,并且不再起作用。
  • 是的,你是对的,因为我正在连接呼叫服务器,新窗口将断开连接。
  • 也许这个答案有帮助:stackoverflow.com/a/21024022/476951

标签: javascript jquery html


【解决方案1】:

你需要看看 javascript Notifications

此外,您可以更改 document.title 或网站图标,以表明此标签有一些通知,例如 YouTube 所做的,例如标题中的通知计数器

【讨论】:

    【解决方案2】:

    open 调用返回对新窗口的引用。它可以用来操作它的属性、改变位置等等。

    在本例中,我们从 JavaScript 生成弹出内容:

    let newWin = window.open("about:blank", "hello", "width=200,height=200");
    newWin.document.write("Hello, world!");
    

    这里我们修改加载后的内容:

    let newWindow = open('/', 'example', 'width=300,height=300')
    newWindow.focus();
    alert(newWin.location.href); // (*) about:blank, loading hasn't started yet
    newWindow.onload = function() {
      let html = `<div style="font-size:30px">Welcome!</div>`;
      newWindow.document.body.insertAdjacentHTML('afterbegin', html);
    };
    

    请注意:在 window.open 之后,新窗口尚未加载。行 (*) 中的 alert 证明了这一点。所以我们等待onload修改它。我们还可以对 newWin.document 使用 DOMContentLoaded 处理程序。

    【讨论】:

      猜你喜欢
      • 2017-07-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-25
      相关资源
      最近更新 更多