1

如果您使用简单<a href的 链接到可下载的内容,用户将在停留在当前页面时下载文件。您可以使用浏览器没有插件的文件(如 .bin)来获得此行为,或者通过发送 content-disposition 标头来强制下载。

是否有任何方法或标题可以让用户在当前页面上同时仍然请求页面?这个想法是用户单击链接,发出请求,但页面不会改变 - 就像下载文件时一样。

我猜这可以用一个 iframe 来完成,它不是很漂亮,并且在加载页面时会发出另一个请求。Javascript 是另一个明显的答案,但这实际上是提出这个问题的原因:与无 JS 客户端的兼容性。

将方法设置为 HEAD 的表单是另一种丑陋的解决方案,但无论如何都不起作用。Chromium 忽略该方法并简单地执行一个 GET 请求......

还有什么想法吗?

4

1 回答 1

1

您可以在隐藏的页面上放置一个 iframe。然后,给那个 iframe 和 id。

将此 id 用作指向要下拉的文件的链接的目标。

我在http://jsfiddle.net/dancrumb/N87nL/创建了一个演示,向您展示它是如何工作的。只需将 iframe 设置为不可见就可以了

该页面将在 iframe 中加载,您将留在您的页面上,它不需要 JS。好家伙!

请注意,iFrame 没有 的初始值src,因此在页面加载时不会发出请求。

于 2012-08-02T19:39:00.777 回答