js 如何在网页另存为 .txt格式的文件

JavaScript011

js 如何在网页另存为 .txt格式的文件,第1张

单击文件菜单下的另存为就会弹出一个另存为对话框,这时再在保存类型下选择.txt类型,这样就可以把整个网页保存下来,至于你说的内容不乱,这个我不太清楚.不过只要你再在.txt文件里修改一下就行了,或者你将你要的内容复制到word里面就行了.

最近看到好几个人问这问题了,其实要实现并不难,而且还是跨浏览器的,但并不完美。

IE 是通过 ActiveXObject,前提是浏览者的安全设置中允许此项且同意使用。

Firefox/Chrome/Safari/Opera 是通过 a 元素的 href 属性,加上 base64 数据来实现(data URI)。

下面的代码在 IE 6-9,Firefox 19,Chrome 26,Safari 5.0.5,Opera 12.15 测试通过。

【注意】base64 函数和完整代码在空间:hi.baidu.com/keneks/item/a8b10b04fd862f016c904813

<script type="text/javascript">

/* var Base64 = {}*/

window.onload = function() {

var save = document.getElementById("save")

// IE

if(/msie/i.test(navigator.userAgent)) {

save.onclick = function() {

var path = prompt("输入保存路径和文件名", "C:\\test.txt")

var content = document.getElementById("content").value

content = content.replace(/\n/g, "\r\n")

var fso = new ActiveXObject("Scripting.FileSystemObject")

var s = fso.CreateTextFile(path, true)

s.WriteLine(content)

s.Close()

}

}

// Firefox/Chrome/Safari/Opera

else {

// 鼠标经过 a 的时候就开始 base64 编码

save.onmouseover = function() {

var content = document.getElementById("content").value

this.setAttribute("href",

"data:application/octet-streambase64,"

+ Base64.encode(content))

}

}

}

</script>

//前台

var appWindow = window.open(调用后台方法的路径名)

appWindow.focus()

//后台

getResponse().setHeader("Content-disposition","attachmentfilename = "+导出文件名)

getResponse().setContentType("text/plain")//text/plain 就会导出成txt了

。。。。。。。。。。 后面的就是 读取数据库 在写入到txt里就可以了