如何使用Javascript编写本地.text

时间:2013-12-21 15:09:56

标签: javascript jquery internet-explorer

我想在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! 问题出在哪儿? 谢谢!

3 个答案:

答案 0 :(得分:1)

答案 1 :(得分:1)

如果我正确理解你,那么你真正要问的是在会话之间将信息保存在js中。我理解文件如何看起来很适合该任务。但由于浏览器对文件系统的访问权限非常有限,因此这并不理想。

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

答案 2 :(得分:-1)

也许这是一些浏览器问题? 我在IE9中试过 - 它工作正常(参见jsfiddle - 这是你的代码)

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

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

但是,我也必须启用不安全的activeX执行

http://social.msdn.microsoft.com/Forums/vstudio/en-US/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);循环(检查它是否正常工作)