当我使用 window.open("www.google.com", "_blank");
window.open("www.google.com", "_blank");
打开了一个新标签页,但URL不是"www.google.com",而是"=url-i-was-at=/www.google.com"。
这是代码片段(也是唯一相关的代码)。 http://jsfiddle.net/FUYTY/
在jsfiddle中它的行为有些不同,但仍然不能像应该那样工作。
我做错了什么?
当我使用 window.open("www.google.com", "_blank");
window.open("www.google.com", "_blank");
打开了一个新标签页,但URL不是"www.google.com",而是"=url-i-was-at=/www.google.com"。
这是代码片段(也是唯一相关的代码)。 http://jsfiddle.net/FUYTY/
在jsfiddle中它的行为有些不同,但仍然不能像应该那样工作。
我做错了什么?
www.google.com
的根文档,这可以使用url https://www.google.com/
完成。 但您提供的是文档 www.google.com
的相对url。window.open
接受相对和绝对url,因此当您在地址栏中使用www.google.com
时,它无法假设您遗漏了https://
。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
。https://www.google.com/
当你说你想要的是http://www.example.com/dir/www.google.com
,因为后者也可能是有效的。window.open
可以接受相对和绝对 URL。如果您在 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.google.com/
,而不是 http://www.example.com/dir/www.google.com
。 - ikegami您需要在您的URL前面加上http://
:
$(document).ready(function () {
$('#mybtn').on('click', function () {
window.open("http://www.google.com", '_blank');
});
});
尝试在之前添加http://(参见Fiddle http://jsfiddle.net/lkritchey/FUYTY/3/)
$( document ).ready(function() {
$('#mybtn').on('click', function() {
window.open("http://www.google.com", '_blank');
});
});
更多信息: 如果你在字符串前面包含'/',它就会将你的字符串附加到根URL上。如果你仅列出字符串,它就会将其附加到当前完整的URL上。如果你包含http://或https://,它就知道只使用你放入字符串中的内容(例如:http://www.google.com)。
请在您的URL前加上http://
。
www.google.com
将是一个本地路径,例如指向您服务器上同名的目录。如果您需要链接到外部域,您需要使用绝对 URL,例如http://www.google.com/
。 - CBroe