繁体   English   中英

如何使用Javascript编写本地.txt

[英]How to write a local .txt with Javascript

我想使用IE中的javascript控制台编写.txt文件。 我已经有想要写在文件上的字符串了; 因此,我想做的是:

var refTab=document.getElementById("historymatch_tb0");
var  ttl;
for ( var i = 0; row = refTab.rows[i]; i++) 
{
   row = refTab.rows[i];
   for ( var j = 0; col = row.cells[j]; j++ )
   {
       WriteInFile (col.innerHTML);
   }

}

我没有的是功能WriteInFile,因为我尝试了以下方法:

 function WriteInFile (a)
 {
  var fso = new ActiveXObject("Scripting.FileSystemObject");
  var filename = "c:\\Users\\Riccardo\\a.txt";
  var f = fso.OpenTextFile(filename, 2, true); 
  f.WriteLine(a);
  f.Close();
  }

这不起作用,脚本不会给我错误,但文件为空,控制台显示单词:undefined! 问题出在哪儿? 谢谢!

如果我理解正确,那么您真正要问的是一种在会话之间将信息持久化在js中的方法。 我了解文件对于该任务的外观如何。 但是由于浏览器对文件系统的访问非常有限,因此不理想。

您可以将所需的信息保留在浏览器的Web存储中,而不必使用本地文件。 您可以稍后再取回。 有关详细信息,请参见http://www.html5rocks.com/en/features/storage

也许是浏览器问题? 我在IE9中尝试过-它正常工作(请参阅jsfiddle-这是您的代码)

 var a = "Hello";
 WriteInFile(a);

http://jsfiddle.net/nb5N7/1/

但是,我还必须启用不安全的ActiveX执行

http://social.msdn.microsoft.com/Forums/vstudio/zh-CN/41b3a68b-dd16-48a8-b86c-02a1e543081c/activexobjectscriptingfilesystemobject-automation-server-cant-create-object (请参阅答案)

UPD:为什么你让我失望? UPD2:

for ( var i = 0; row = refTab.rows[i]; i++) 

也许这里有问题? 你应该写

 var i = 0; i < refTab.rows.lenght; i++

代替

 for ( var i = 0; row = refTab.rows[i]; i++) 

并且,还尝试添加alert(1); 到周期(检查它是否正常工作)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM