0

我制作了以下网页来生成交互式待办事项列表:http ://robert-kent.com/todo/todo.php

基本上,用户粘贴一个编号的待办事项列表,每个任务都放置到它自己的具有唯一 ID 的 div 中。用户可以为任务添加注释(使用 javascript 完成),并且可以在任务完成后单击绿色复选标记以隐藏它。

我想添加一个导出按钮,该按钮将生成一个报告,说明哪些任务已完成,哪些未完成,以及用户输入的注释。经过一番搜索,我明白我想要做的是刮页面,但我对最好的方法一无所知。我在 Google 上找到的许多文章和教程都涉及抓取其他网站,并没有真正解释我如何遍历页面上的每个 div。

完整来源:http://pastebin.com/r7V3P5jK

有什么建议么?

4

2 回答 2

1

不幸的是,提供您所描述的“导出”功能的方法是完全错误的。您的页面应使用表明需要“导出”的参数提交回服务器。然后,服务器应将“Content-Disposition”标头设置为类似attachment; filename="export.txt"(或您想要的文件名)。

于 2010-05-15T15:51:43.110 回答
0

如果有一个 div 包含您要导出的内容,您可以简单地使用 innerHTML 属性来导出 HTML 代码。例如,假设 div 的 id 为“notes”:

var notes = document.getElementById('notes');
alert(notes.innerHTML);

现在,如何让用户将实际的 HTML 保存在文件中?您需要将其发送到服务器上的 CGI 或类似服务器,该服务器使用以下标头发回内容:

内容处置:附件;文件名="export.txt"

或者,您必须使用此页面上解释的方法:http: //objectmix.com/javascript/314946-possible-generate-text-files-javascript.html。仅供参考:页面上解释的方法不兼容跨浏览器。

于 2011-04-25T07:09:41.047 回答