如何使用jQuery打开一个新窗口?

13

有两种方法被建议给我。

window.location.href = '/Administration/Notes/Create?dsValue=a&selectAnswer=b';
$.get("/Administration/Notes/Create", { dsValue: dsValue, selectedAnswer: answer });

这两种方法是一样的吗?哪一种对我来说最好,它们之间有什么区别?

3个回答

16

你并不需要使用jQuery来完成这件事。有一种非常简单的原生JavaScript方法可以实现:

window.open('http://www.google.com','GoogleWindow', 'width=800, height=600');

就是这样。

第一个参数是url,第二个参数是窗口的名称,应该指定此名称,因为如果没有指定窗口名称(只是一点小提示),IE将在稍后尝试使用window.opener时抛出异常,最后两个参数是宽度/高度。

编辑:可以在mmmshuddup提供的链接中找到完整的规格说明。


13

它们绝不相同。第一个简单地将您发送到已分配给window.location.href的任何URL(在您当前所在的窗口中)。第二个执行GET AJAX请求。

请尝试此页面:http://www.codebelt.com/jquery/open-new-browser-window-with-jquery-custom-size/

它提供了如何打开新窗口的极好示例*。

如果您希望使用原始JavaScript,则应使用以下内容:

window.open(URL,name,specs,replace)

正如在http://www.w3schools.com/jsref/met_win_open.asp中看到的那样


12
w3schools是我最不喜欢的参考资料。在MDN上可以找到更好的信息:https://developer.mozilla.org/en/DOM/window.open。 - jfriend00
不错。我从来没有看过他们的文档。我想我是出于旧习惯使用w3schools。谢谢你给我书签了那个页面! - Yes Barry
12
人们总是喜欢抱怨...微软、苹果、w3schools,别再抱怨了! - Serj Sagan
3
人们讨厌w3schools的原因是因为他们提出了很多错误的建议。我相信大部分或者所有这些问题都已经得到解决。然而,改变第一印象是很困难的。MDN是一个非常好的信息来源。你也可以看看这个项目:https://www.webplatform.org/ 不过我不确定社区活跃度如何。 - Jessy

2

这个是有效的:

myWindow = window.open('http://www.yahoo.com','myWindow', "width=200, height=200");

1
虽然这个链接可能回答了问题,但最好在此处包含答案的基本部分并提供参考链接。如果链接页面更改,仅有链接的答案可能会失效。 - Pratik Butani
你在说哪个链接? - chuckfinley

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接