2013-12-21 31 views
0

本地的.txt我想用在IE浏览器的JavaScript控制台写一个.txt文件。 我已经有我想写在文件上的字符串;所以,我想这样做是:如何编写的JavaScript

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因为我triyed这样的:

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! 问题在哪里? 谢谢!

+0

你可以在SO上检查这个http://stackoverflow.com/questions/11101641/activexobject-is-not-defined-and-cant-find-variable-activexobject –

回答

-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:你为什么minused我吗? 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++) 

和,也尝试添加报警(1);为了循环(检查它是否正常工作)

+0

我不会吝啬你。 – Martina

+0

我的意思不完全是你 – MaxStoun

1

如果我正确地理解你,你真正要问的是如何在会话之间保持js中的信息。我明白一个文件对于这个任务看起来很棒。但是由于浏览器对文件系统的访问非常有限,这并不理想。

而不是使用一个本地文件,你可以坚持你在浏览器的Web存储所需要的信息。你可以稍后再来找回它。详见http://www.html5rocks.com/en/features/storage

+0

嗨,谢谢你的回答! 有没有什么办法可以在我的文件系统中保存这个Web存储? – Martina

+0

您的网络存储是浏览器中的内部数据库。您无法将其保存到常规文件系统中,但即使关闭了窗口并打开了一个新窗口,您仍然可以读取它,在网站上显示并使用它。 – kikito