Search code examples
javascriptjquery

window.open() simply adds the url to my current url


When I use window.open("www.google.com", "_blank");

window.open("www.google.com", "_blank");

A new tab is opened, but the url isn't "www.google.com", it's "=url-i-was-at=/www.google.com".

This is a snippet of the code (and the only relevant code). http://jsfiddle.net/FUYTY/

In jsfiddle it behaves a bit differently, but still doesn't work as it should.

What am i doing wrong?


Solution

  • You wanted to access the root document of server www.google.com, which is done using the url https://www.google.com/. You provided a relative url for document www.google.com instead.

    Keep in mind that window.open accepts both relative and absolute urls, so it can't assume you left out https:// as it does when you use www.google.com in the address bar.


    Maybe an example will help. Say the current page is http://www.example.com/dir/foo.html.

    • window.open("popup.html", "_blank") opens
      http://www.example.com/dir/popup.html.
    • window.open("www.google.com", "_blank") therefore opens
      http://www.example.com/dir/www.google.com.

    The browser has no way of knowing you actually wanted https://www.google.com/ when you said you wanted http://www.example.com/dir/www.google.com since the latter could be valid.