2012-02-23 30 views
1

做任何人有如何使用javascript讀寫文本文件的示例代碼使用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

你不能,不應直接從瀏覽器訪問文件系統。這是多年前插入的一個巨大的安全漏洞。 – 2012-02-23 10:21:56

+0

** JS在哪裏運行?在瀏覽器中? **文件在哪裏?**在用戶的系統上?在HTTP服務器上? ** HTML文檔在哪裏(如果有的話)**?**在與文件相同的地方?在不同的服務器上? – Quentin 2012-02-23 10:32:56

+0

目前一切都在我的本地系統上。 – 2012-02-23 10:34:20

回答

1

在IE瀏覽器,這是可能使用的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

對於ie瀏覽器,它是完美的解決方案 – 2012-02-24 07:45:12