Benjamin
Benjamin

Reputation: 570

How to open a new tab in Javascript?

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

Answers (2)

Quentin
Quentin

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

hoangdv
hoangdv

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

Related Questions