2008-11-27 46 views
1

有没有什么办法可以在不设置document.location.href的情况下关注JavaScript中的网址?使用JavaScript关注网址

我有一个页面显示对象的列表,每个对象可能有一个文件下载与它相关联,它可以通过超链接访问。点击该链接将启动一个AJAX请求,最终生成一个临时文件,该文件可以被唯一的临时URL引用。

当AJAX调用完成时,它只是将document.location.href设置为临时URL,并启动文件下载。当然这有改变浏览器地址栏中的URL的副作用,所以如果刷新页面,则文件被再次下载,而不是刷新对象列表页面本身。我想我可以将URL设置回原来的样子,但这感觉有点不合理。

顺便提一下,我使用Prototype JavaScript框架。

回答

3

你可以用新的网址打开一个新窗口?或尝试设置一个iframe的url到新的url,两者都应该提供一个文件下载(后者是更好的选择)

+0

创建一个新窗口并在该窗口中加载该URL是一个好主意。我敢肯定,大多数浏览器一旦意识到它不是HTML文件就会自动关闭弹出窗口。 – Kibbee 2008-11-27 20:14:49

2

您可以使用隐藏的iframe - 将src设置为要下载的文件。

2

如果您只是为了触发文件下载而做的所有这些,听起来像是一个使用隐藏的iframe的好应用程序。相反,请设置Iframe的SRC,这样就不必混淆主页面。