网页通过a标签打开一个新窗口
<a href="http://***" target="_blank">新窗口</a>
安全问题
如果只是单纯的加target="_blank"打开新窗口,则可以在新窗口内通过window.opener访问到来源页面的window对象,即使跨域也一样
新窗口与原来的页面窗口共用一个进程,若新页面执行了性能不好的 JavaScript 代码,占用了大量系统资源,那你原来的页面的性能也将受到影响
解决方法
1、加上rel="noopener"或者rel="noreferrer"。
这样新窗口的window.opener就是null,并且新窗口会运行在独立的进程里,可能部分浏览器做了优化,不加该属性也会运行在新的进程里,推荐添加。
2、window.open打开新页面
var newWindow = window.open();
newWindow.opener = null;
newWindow.location = "https//****";
newWindow.target = "_blank";