Reputation: 570
I would like to open in a new tab a page of my website.
I've tried to use the window.open function but it seems like it's not supported anymore.
Those are a few options I've tried in local :
url = "localhost:3000/my-other-page"
window.open(url, '_blank');
OR
var popup = window.open("about:blank", "_blank");
popup.location = url;
The first option opened the page in a new tab but the screen stayed black.
What would be the best way to open this url ? Is it still supported by current browsers?
Upvotes: 21
Views: 34956
Reputation: 944192
window.open
is supported and works fine… providing you use it in response to a user triggered event.
For example, you are allowed to open a new window when the user clicks on a button, but you aren't allowed to open one as soon as the page loads.
This is an anti-spam / resource bombing measure.
re edit
url = "localhost:3000/my-other-page"
Your URL starts with the hostname, but is missing the markers that stop it being treated as a path.
Use the correct URL:
url = "http://localhost:3000/my-other-page"
Upvotes: 14
Reputation: 16147
Show your sample url
, I think you have to use a full protocol url, instead of a domain name.
ex:
Use https://google.com
instead of google.com
var url = 'https://google.com';
window.open(url, '_blank');
Upvotes: 31