用于下载页面HTML的按钮

时间:2011-03-17 01:35:50

标签: html

有没有办法有一个按钮/链接,当你点击它时,它将获取当前页面位置并下载它的HTML版本?这也是一个iframe,链接应该只下载iframe的内容。谢谢!

2 个答案:

答案 0 :(得分:2)

以下JavaScript将获取当前文档并将其作为下载链接提供。在Chrome中测试,不确定其他人。请记住,IE对DataURI大小有限制。此外,除非您将base标记注入head标记的顶部(或找到其他方式来滚动资源),否则您将丢失外部图像/ CSS /等:

// create the link to trigger download
// you could alternatively fetch an existing tag and update it
var a = document.createElement('a');

// send as type application/octet-stream to force download, not in browser
a.href = 
    "data:application/octet-stream;base64," +
    btoa("<html>"+ document.getElementsByTagName('html')[0].outerHTML + 
    "</html>");

a.innerText = "Download this page";

// put the link wherever you want
document.body.appendChild(a);

编辑:也没有在下载链接的末尾提供文件名或.htm ... hmph。这些东西只能由Content-Disposition标头提供,这需要向服务器发送请求,因此...不是一个出色的用户体验,但是获得完全的最简单方法用户看到的页面状态。

答案 1 :(得分:1)

您只需要一个简单的脚本,它将文件名作为参数并生成一个zip。 Here是PHP中的一个示例。