有没有办法在不设置document.location.href
的情况下在JavaScript中关注网址?
我有一个显示对象列表的页面,每个对象可能有一个与之关联的文件下载,可通过超链接访问。单击该链接会启动一个AJAX请求,该请求最终会生成一个瞬态文件,该文件可以由唯一的临时URL引用。
在AJAX调用完成时,它只是将document.location.href
设置为临时URL并启动文件下载。当然,这会产生改变浏览器地址栏中URL的副作用,因此如果刷新页面,则会再次下载文件,而不是刷新对象列表页面本身。我想我可以将网址设置回原来的状态,但感觉有些笨拙。
顺便说一下,我正在使用Prototype JavaScript框架。
答案 0 :(得分:3)
您可以使用新网址打开一个新窗口吗?或者尝试将iframe的url设置为新的url,两者都应该提供文件下载(后者是更好的选择)
答案 1 :(得分:2)
您可以使用隐藏的iframe - 将src设置为要下载的文件。
答案 2 :(得分:2)
如果你正在做这一切只是为了触发文件下载,它听起来像是一个使用隐藏的iframe的好应用程序。改为设置Iframe的SRC,这样就不必弄乱主页了。