window.open()只是将url添加到我当前的url

22 javascript jquery

当我使用window.open("www.google.com","_ blank");

window.open("www.google.com", "_blank");
Run Code Online (Sandbox Code Playgroud)

系统会打开一个新标签,但网址不是"www.google.com",而是"= url-i-was-at =/www.google.com".

这是代码片段(以及唯一相关的代码). http://jsfiddle.net/FUYTY/

在jsfiddle中它的行为有点不同,但仍然无法正常工作.

我究竟做错了什么?

ike*_*ami 18

您想访问服务器的根文档www.google.com,这是使用URL完成的http://www.google.com/.您提供了文档的相对URL www.google.com.

  • 也许一个例子会有所帮助.`window.open`接受相对和绝对网址.如果从`http:// www.example.com/dir/foo.html`调用`window.open("popup.html","_ blank")`,它将打开`http://www.example. COM/DIR/popup.html`.如果你从同一页面调用`window.open("www.google.com","_ blank"),它将打开`http:// www.example.com/dir/www.google.com`.当你说'http:// www.example.com/dir/www.google.com`时,浏览器无法知道你真的想要`http:// www.google.com /`. (3认同)

ama*_*nes 7

你必须http://在你的网址前加:

$(document).ready(function () {
    $('#mybtn').on('click', function () {
        window.open("http://www.google.com", '_blank');
    });
});
Run Code Online (Sandbox Code Playgroud)

修复:http://jsfiddle.net/FUYTY/4/


Lau*_*hey 5

尝试预先添加 http:// (参见 Fiddle http://jsfiddle.net/lkritchey/FUYTY/3/

$( document ).ready(function() {
  $('#mybtn').on('click', function() {
      window.open("http://www.google.com", '_blank');   
  });
});
Run Code Online (Sandbox Code Playgroud)

更多信息:如果您事先包含一个“/”,它会将您的字符串附加到根 URL。如果您只列出字符串,它会将其附加到当前的完整 URL。如果您包含 http:// 或 https:// 它知道只使用您在字符串中放入的内容(即http://www.google.com