如题目所述,在原来页面中,使用window.open打开新页面链接,新页面中需要实现浏览器窗口切换时,监听当前窗口切换超过几次进行提醒,新窗口监听事件如下
if (document.hidden !== undefined) {document.addEventListener('visibilitychange', () => {if (document.hidden) {this.tabNums++;if (this.tabNums <= 3) { // 切换页面几次} else {console.log('超过3次之后的操作')}}});}
原页面跳转代码如下
window.open('#/report-exame?tId=' + this.taskCid + '&wId=' + this.workTid);
以上会出现跳转的新页面窗口切换监听无效,经历多次问题查找,发现可能是浏览器兼容问题导致,解决方法如下,window.open()方法添加两个参数,第一个表示打开新的空白窗口,第二个浏览器兼容
window.open('#/report-exame?tId=' + this.taskCid + '&wId=' + this.workTid, '_blank', 'noopener');
第一次遇到,特此记录。
angular2 页面中使用window.open打开新窗口后 新页面document.addEventListener visibilitychange事件不生效(谷歌浏览器)