用javascript 实现 导出内容到txt,

likablegirl 2011-07-07 04:23:34
用javascript 实现 导出内容到txt,实现方法不使用ActiveXObject ,不使用execCommand ("saveAs"),数据不走后台,完全前台
不用上边两种方法是因为火狐都不支持,不知道还可以用哪种方式

小妹在这里先谢谢各位大虾了
...全文
1531 26 打赏 收藏 转发到动态 举报
写回复
用AI写文章
26 条回复
切换为时间正序
请发表友善的回复…
发表回复
snjcaorui 2011-07-08
  • 打赏
  • 举报
回复
<html>
<head>
<title>JS操作文本文件</title>
</head>
<body>

<script>
var arr = new Array();
arr[0] = [0,"name0","value0"];
arr[1] = [1,"name1","value1"];
arr[2] = [2,"name2","value2"];
arr[3] = [3,"name3","value3"];
arr[4] = [4,"name4","value4"];
function Write2Text()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var f = fso.CreateTextFile("a.txt", true);
for(var i=0;i<arr.length;i++)
{
f.write(arr[i])
f.WriteBlankLines(1)
}
f.Close();
}
</script>
<input type=button value="Write" onclick="Write2Text()">

<script>
function GetHeader(src) {
var ForReading=1;
var fso=new ActiveXObject("Scripting.FileSystemObject");
var f=fso.OpenTextFile(src,ForReading);
return(f.ReadAll());
}
function ReadText(){
var arr=GetHeader("a.txt").split("\r\n");
for(var i=0;i<arr.length;i++){
alert("第"+(i+1)+"行数据为:"+arr[i]);
}
}
</script>

<input type=button value="Read" onclick="ReadText()">

</body>
</html>
KK3K2005 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用楼主 likablegirl 的回复:]
用javascript 实现 导出内容到txt,实现方法不使用ActiveXObject ,不使用execCommand ("saveAs"),数据不走后台,完全前台
不用上边两种方法是因为火狐都不支持,不知道还可以用哪种方式

小妹在这里先谢谢各位大虾了
[/Quote]

你就 吧js要保存的文本 作为一个新打开的窗口的内容 点窗口的另存为吧
  • 打赏
  • 举报
回复
FireFox下也可以,但会有安全提示
<html><head><script language="javascript">

SaveToFile('This is a text to save in a file', 'C:\\temp\\test.txt');
alert(read('C:\\temp\\test.txt'));

function SaveToFile (text, fileName) {
try
{netscape.security.PrivilegeManager.enablePrivilege('UniversalXPConnect');}
catch (e) {alert("Permission to write file denied."); return 0;}
var file =
Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile );
file.initWithPath(fileName);
if (!file.exists()) file.create(0x00, 0644);
var outputStream =
Components.classes["@mozilla.org/network/file-output-stream;1"].createInstance(Components.interfaces.nsIFileOutputStream);
outputStream.init(file,0x20 | 0x02,00004,null);
outputStream.write(text, text.length);
outputStream.flush();
outputStream.close();
}

function read(myfile) {
try
{netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");}
catch (e) {alert("Permission to read file denied."); return '';}
var file =
Components.classes["@mozilla.org/file/local;1"].createInstance(Components.interfaces.nsILocalFile );
file.initWithPath(myfile);
if (!file.exists()) {alert("File not found."); return '';}
var is =
Components.classes["@mozilla.org/network/file-input-stream;1"].createInstance(
Components.interfaces.nsIFileInputStream );
is.init(file,0x01, 00004, null);
var sis =
Components.classes["@mozilla.org/scriptableinputstream;1"].createInstance(
Components.interfaces.nsIScriptableInputStream );
sis.init(is);
var output = sis.read(sis.available());
return output;
}

</script></head><body></body></html>
syoumei 2011-07-08
  • 打赏
  • 举报
回复
写firefox插件或者用扩展就很容易了
亚丁号 2011-07-08
  • 打赏
  • 举报
回复
snjcaorui 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 20 楼 likablegirl 的回复:]
引用 19 楼 snjcaorui 的回复:

引用 16 楼 likablegirl 的回复:
引用 15 楼 kk3k2005 的回复:

引用楼主 likablegirl 的回复:
用javascript 实现 导出内容到txt,实现方法不使用ActiveXObject ,不使用execCommand ("saveAs"),数据不走后台,完全前台
不用上边两种方法是因为火狐都不……
[/Quote]

有问题验证,你加我的吧:1007751583
likablegirl 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 19 楼 snjcaorui 的回复:]

引用 16 楼 likablegirl 的回复:
引用 15 楼 kk3k2005 的回复:

引用楼主 likablegirl 的回复:
用javascript 实现 导出内容到txt,实现方法不使用ActiveXObject ,不使用execCommand ("saveAs"),数据不走后台,完全前台
不用上边两种方法是因为火狐都不支持,不知道还可以用哪种方式

小妹在这里先谢……
[/Quote]


qq:107357040
snjcaorui 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 16 楼 likablegirl 的回复:]
引用 15 楼 kk3k2005 的回复:

引用楼主 likablegirl 的回复:
用javascript 实现 导出内容到txt,实现方法不使用ActiveXObject ,不使用execCommand ("saveAs"),数据不走后台,完全前台
不用上边两种方法是因为火狐都不支持,不知道还可以用哪种方式

小妹在这里先谢谢各位大虾了


你就 吧js要保存的文本 作为……
[/Quote]


留下你得联系方式吧,给你发一个例子
Vilien 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 theforever 的回复:]

要求不切实际,不用浪费时间了。
[/Quote]

完全赞同。建议楼主好好研究下标准浏览器的安全性原则。
你那个要求如果真给你实现了,那黑客就要跳起来了,用户就要完蛋了,都不敢上网了。
likablegirl 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 snjcaorui 的回复:]

我这儿有个例子,和你说的是错不多的 。在页面上 一个table中得数据保存到excle中,我是走的后台,首先是通过js把table中得数据抠出来,然后发送到服务端,在服务端生成excle后提示用户保存,如果你想要的话可以说一下。
[/Quote]

麻烦给我看下你的例子 谢谢
likablegirl 2011-07-08
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 kk3k2005 的回复:]

引用楼主 likablegirl 的回复:
用javascript 实现 导出内容到txt,实现方法不使用ActiveXObject ,不使用execCommand ("saveAs"),数据不走后台,完全前台
不用上边两种方法是因为火狐都不支持,不知道还可以用哪种方式

小妹在这里先谢谢各位大虾了


你就 吧js要保存的文本 作为一个新打开的窗口的内容 点窗口的另存为吧
[/Quote]

这种方式火狐也不支持

难道这么不切实际么,在前台就这两种方式么!
加油馒头 2011-07-08
  • 打赏
  • 举报
回复
让用户点击出发下载事件
  • 打赏
  • 举报
回复
要求不切实际,不用浪费时间了。
cookslowly 2011-07-07
  • 打赏
  • 举报
回复
内容也是JS得到的?那我没办法了……

LZ的想法如果实现了的话,用JS就可以随意操作客户端的文件了。
snjcaorui 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cookslowly 的回复:]
内容已经得到了---得到内容后别停,再写到TXT
[/Quote]

Js在页面上得到数据了,怎么写啊?请教一下……
likablegirl 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 cookslowly 的回复:]

内容已经得到了---得到内容后别停,再写到TXT
[/Quote]


用什么方式写呢?
cookslowly 2011-07-07
  • 打赏
  • 举报
回复
内容已经得到了---得到内容后别停,再写到TXT
snjcaorui 2011-07-07
  • 打赏
  • 举报
回复
我这儿有个例子,和你说的是错不多的 。在页面上 一个table中得数据保存到excle中,我是走的后台,首先是通过js把table中得数据抠出来,然后发送到服务端,在服务端生成excle后提示用户保存,如果你想要的话可以说一下。
snjcaorui 2011-07-07
  • 打赏
  • 举报
回复
走前台 就得用ActiveXObject
likablegirl 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 likablegirl 的回复:]

因为内容已经得到了,要做的就是把内容导出到一个txt文件中,就想完全用js实现 ,可是查了一圈就发现上边的两种方式,但是火狐都不支持 ,头疼
[/Quote]


想用前台方式实现,不想走后台
加载更多回复(6)

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧