解决window.open打开之后,原窗口不能操作
Posted 三水草肃
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了解决window.open打开之后,原窗口不能操作相关的知识,希望对你有一定的参考价值。
答案: window.open(url, “_blank”, “noreferrer”);
window.open(url, windowName, [windowFeatures]);
-
url
要加载的url
-
windowName 可选的
A DOMString的浏览上下文(窗口,指定的名称 或标签)到其中加载指定的资源; 如果名称不指示现有上下文,则会创建一个新窗口并为其指定名称windowName。
-
windowFeatures 可选的
这些功能包括窗口的默认大小和位置、是否包含工具栏等选项。字符串中不能有空格
-
noopener
如果设置了此功能,则新打开的窗口将正常打开,只是它无法返回到原始窗口(通过Window.opener - 它返回null)。此外,该window.open()调用还将返回null,因此原始窗口也将无法访问新窗口。这对于防止通过window.open()篡改原始窗口打开的不受信任的站点非常有用, 反之亦然。
请注意,当noopener使用时,除_top,_self和之外的非空目标名称 _parent都被视为 _blank决定是否打开新窗口/选项卡。 -
noreferrer
如果设置了此功能,加载位于指定 URL 的内容的请求将被加载,请求referrer设置为 noreferrer; 这可以防止请求将发起请求的页面的 URL 发送到发送请求的服务器。此外,设置此功能还会自动设置 noopener. 有关rel=“noreferrer” 其他详细信息和兼容性信息,请参阅 。Firefoxnoreferrer在 Firefox 68 中引入了支持 。
-
MDN:https://developer.mozilla.org/en-US/docs/Web/API/Window/open
以上是关于解决window.open打开之后,原窗口不能操作的主要内容,如果未能解决你的问题,请参考以下文章
window.open() 某些情况会被浏览器阻止弹出窗口及解决办法
ajax请求成功后新窗口window.open()被拦截的解决方法