Use window.open but block use of window.opener
Pointing out that it's a comma separated list of features (no whitespaces), so you could set 'noopener,noreferrer,resizable'
i.e.:
window.open('http://sensible.url', '_blank', 'noopener,noreferrer,resizable')
From Mozilla docs:
windowFeatures
OptionalA DOMString containing a comma-separated list of window features given with their corresponding values in the form "name=value". [...]
Use
var yourWindow = window.open();
yourWindow.opener = null;
yourWindow.location = "http://someurl.here";
Credit goes to Mathias Bynens: https://mathiasbynens.github.io/rel-noopener/
The window.open()
call now supports the feature "noopener".
So calling window.open('https://www.your.url','_blank','noopener')
should open the new window/tab with a null window.opener
.
I'm having trouble finding a reliable list of supporting browsers (and versions) - MDN states here that
This is supported in modern browsers including Chrome, and Firefox 52+.
From my experimentation, I see it works for:
- Chrome 61
- FireFox 56
- Safari 11.1 (thanks Jiayi Hu for this)
But doesn't work for:
- IE 11.608
- Edge 40
(All tests on a PC running Windows 10...)
For backwards compatibility it may be better to combine this with t3__rry's answer.