window.open在Firefox 55.0.1上无法正常工作

时间:2017-08-18 19:01:45

标签: javascript html firefox notifications

我正在尝试使用MDN中记录的W3C通知API向我的网站添加桌面通知。对于初步测试和玩游戏,我一直在使用Stack {{}}来自fiddle的这个this question。一切正常,除非通知显示并且我在使用Firefox时点击它,登陆URL在新标签页中打开,Firefox立即切换到触发通知的页面。

在Chrome上没有看到这种奇怪的行为。它在那里工作得很好。是什么导致了这种行为?我做错了吗?

这是来自那个小提琴的代码:

<button onclick="notifyMe()">Notify me!</button>


<script>
    // request permission on page load
    document.addEventListener('DOMContentLoaded', function () {
      if (Notification.permission !== "granted")
        Notification.requestPermission();
    });

    function notifyMe() {
      if (!Notification) {
        alert('Desktop notifications not available in your browser. Try Chromium.'); 
        return;
      }

      if (Notification.permission !== "granted")
        Notification.requestPermission();
      else {
        var notification = new Notification('Notification title', {
          icon: 'http://cdn.sstatic.net/stackexchange/img/logos/so/so-icon.png',
          body: "Hey there! You've been notified!",
        });

        notification.onclick = function () {
          window.open("http://stackoverflow.com/a/13328397/1269037");      
        };

      }

    }
</script>

1 个答案:

答案 0 :(得分:1)

替换:

window.open("http://stackoverflow.com/a/13328397/1269037");

使用:

var myWindow = window.open("http://stackoverflow.com/a/13328397/1269037");
myWindow.focus();