2012-02-23 17 views
1

JavaScriptを使用してテキストファイルを読み書きする方法のサンプルコードはありますかjavascriptを使用してテキストファイルを読み書きするにはどうすればよいですか?

iframeを作成し、テキストファイルをiframeから読み込んで読み込み、文字列操作いくつかの変更を加えると、テキストファイルに書き戻す方法がわかりません。 また、ブラウザ上でこのコードは機能しません。 IEで

マイTEXT.TXTファイルが 二行目を 最初の行が含まれている 三行目 四行目

<html> 

<head> 
    <title></title> 
</head> 

<body> 
<script language="JavaScript" type="text/javascript"> 
<!-- 


var srcFrame; 

function loadOuter(doc) { 
srcFrame = document.getElementById("hiddenContent"); 
srcFrame.src = doc; 



transferHTML(); 

} 

function transferHTML(){ 
srcContent=''; 
if (srcFrame.contentDocument){ 
alert("document"); 
    srcContent=srcFrame.contentDocument.getElementsByTagName("BODY")[0].innerHTML; 
} 
else if (srcFrame.contentWindow){ 
    alert("window"); 
    srcContent=srcFrame.contentWindow.document.body.innerHTML; 
} 

srcContent.length; 
alert(" before push "+srcContent); 
var arrayText="Last Line"; 
var lines = srcContent.split('\n'); 
lines=lines.slice(0, -1); 
lines.push(arrayText,"</pre>"); 
lines = lines.join('\n'); 
srcContent=lines; 
alert(srcContent); 
document.getElementById("outerDisplay").innerHTML = srcContent; 
} 

</script> 

<INPUT TYPE="button" VALUE="Test.txt" onClick="loadOuter('Test.txt')" > 

<div id="outerDisplay"></div> 

<iframe id="hiddenContent" width="200" height="200" style="position:absolute;visibility:hidden;" ></iframe> 

</body> 

</html> 
+1

で覆われていると、ブラウザから直接ファイルシステムにアクセスべきではありません。それは何年も前に詰まっていた隙間のあるセキュリティホールでした。 –

+0

** JSはどこで実行されていますか?**ブラウザでは? **ファイルはどこにありますか?**ユーザーのシステムでは? HTTPサーバーでは? ** HTML文書はどこにありますか?(存在する場合)**?**ファイルと同じ場所にありますか?別のサーバーでは? – Quentin

+0

現在、私のローカルシステムにすべてがあります。 –

答えて

1

これはActiveXObjectのとHTAを使用して可能です。ただし、これらはWEBではなく、ローカルのみを使用することをお勧めします。ファイル操作のためのhttp://msdn.microsoft.com/en-us/library/ms536471%28v=vs.85%29.aspx

詳細はこちらから:見http://msdn.microsoft.com/en-us/library/bstcxhf7%28v=vs.84%29.aspx

基本機能の下:

ActiveXObjectの定義:

fso=new ActiveXObject('Scripting.FileSystemObject'); 

読み込みファイル:

iStream=fso.OpenTextFile('filePath',1,false); 
iStream.ReadAll(); 
/* or looped iStream.ReadLine() */ 
iStream.Close(); 

書き込みファイル:

oStream=fso.OpenTextFile('filePath',2,true); 
oStream.WriteLine(/*your_data*/);// This usually is looped according to your data 
oStream.Close(); 

fso -objectは、通常のHTM-ページで使用することができますが、あなたは非常に頻繁にActiveXObjectの使用を受け入れるように求められます。

+0

ブラウザでは完璧な解決策です –

関連する問題