MozTW 討論區
https://forum.moztw.org/

JavaScript 要如何讀取資料夾和檔案的內容?有解答了!
https://forum.moztw.org/viewtopic.php?f=13&t=18729
1 頁 (共 1 頁)

發表人:  gi0001tw [ 2007-04-26, 23:36 ]
文章主題 :  JavaScript 要如何讀取資料夾和檔案的內容?有解答了!

目前是知道將檔案(.txt)的內容放入 frame 裡頭。
但是要如何讀取 frame 的內容?body.innerHTML?

發表人:  kourge [ 2007-04-27, 20:58 ]
文章主題 : 

gi0001tw 寫:
目前是知道將檔案(.txt)的內容放入 frame 裡頭。
但是要如何讀取 frame 的內容?body.innerHTML?

檔案是在本機的電腦上,還是網路上?
放入 frame 裡頭指的是將檔案內容插入到 frame?還是指,利用 frame 去讀取檔案內容?
請提供更為清楚的解釋。

發表人:  gi0001tw [ 2007-04-28, 14:36 ]
文章主題 : 

kourge 寫:
gi0001tw 寫:
目前是知道將檔案(.txt)的內容放入 frame 裡頭。
但是要如何讀取 frame 的內容?body.innerHTML?

檔案是在本機的電腦上,還是網路上?
放入 frame 裡頭指的是將檔案內容插入到 frame?還是指,利用 frame 去讀取檔案內容?
請提供更為清楚的解釋。

檔案就是一個純文字檔,利用 frame 的 src 將該檔案讀進來,不管檔案在哪裡,只要看得到都可以讀取。在該檔案被讀進來之後,該如何從同一個 framset 裡頭的另一個 frame 去讀取讀進來的內容?

發表人:  delta [ 2007-04-29, 10:46 ]
文章主題 : 

gi0001tw 寫:
kourge 寫:
gi0001tw 寫:
目前是知道將檔案(.txt)的內容放入 frame 裡頭。
但是要如何讀取 frame 的內容?body.innerHTML?

檔案是在本機的電腦上,還是網路上?
放入 frame 裡頭指的是將檔案內容插入到 frame?還是指,利用 frame 去讀取檔案內容?
請提供更為清楚的解釋。

檔案就是一個純文字檔,利用 frame 的 src 將該檔案讀進來,不管檔案在哪裡,只要看得到都可以讀取。在該檔案被讀進來之後,該如何從同一個 framset 裡頭的另一個 frame 去讀取讀進來的內容?

我開發文字編輯器的時候就有想到這個問題了

那是沒辦法的,瀏覽器會因為安全性理由拒絕存取


你可以用比較迂迴的方式,用伺服端語言去下載檔案

像是 PHP 的 file_get_contents

然後利用XHR (XMLHttpRequest),得到資料。

這樣就可以跨網域了。

發表人:  gi0001tw [ 2007-04-30, 21:06 ]
文章主題 : 

試過用 iframe 是可行的。因為網路上有範例可尋。使用 frame 的話,依樣畫葫蘆應該可以,只是不知道該如何去把「它」讀出來。

發表人:  kourge [ 2007-05-02, 14:03 ]
文章主題 : 

frame.contentWindow.document.body.innerHTML?

發表人:  gi0001tw [ 2007-05-03, 20:22 ]
文章主題 : 

kourge 寫:
frame.contentWindow.document.body.innerHTML?

謝謝您的答覆,剛剛試了一下,iframe 可這樣用,frame卻不行。error: no property

發表人:  kourge [ 2007-05-04, 20:57 ]
文章主題 : 

gi0001tw 寫:
kourge 寫:
frame.contentWindow.document.body.innerHTML?

謝謝您的答覆,剛剛試了一下,iframe 可這樣用,frame卻不行。error: no property

完整的程式碼是怎麼寫的?

發表人:  Delta (Guest Mode) [ 2007-05-08, 00:39 ]
文章主題 : 

kourge 寫:
frame.contentWindow.document.body.innerHTML?



Error: uncaught exception: Permission denied to get property HTMLDocument.body


@@..阿不就是說過不可以…

發表人:  Delta (Guest Mode) [ 2007-05-08, 00:44 ]
文章主題 : 

Delta (Guest Mode) 寫:
kourge 寫:
frame.contentWindow.document.body.innerHTML?



Error: uncaught exception: Permission denied to get property HTMLDocument.body


@@..阿不就是說過不可以…


少打幾個字…

可以直接用的僅限於同網域的檔案阿…囧

發表人:  kourge [ 2007-05-08, 10:23 ]
文章主題 : 

Delta (Guest Mode) 寫:
Delta (Guest Mode) 寫:
kourge 寫:
frame.contentWindow.document.body.innerHTML?



Error: uncaught exception: Permission denied to get property HTMLDocument.body


@@..阿不就是說過不可以…


少打幾個字…

可以直接用的僅限於同網域的檔案阿…囧

喔,same origin policy。真的要 remote 載入檔案就用 server proxy 吧XD

發表人:  gi0001tw [ 2007-05-08, 15:56 ]
文章主題 : 

kourge 寫:
gi0001tw 寫:
kourge 寫:
frame.contentWindow.document.body.innerHTML?

謝謝您的答覆,剛剛試了一下,iframe 可這樣用,frame卻不行。error: no property

完整的程式碼是怎麼寫的?

感謝大家熱烈的答覆,有些答覆由於個人能力有限看得霧剎剎。在此匯總一下可行的方案,只有在firefox for windows 試過,供有需要的人參考:
用 iframe 的話,比較好用,因為有 onload="..." :
<iframe src="" id="inputFileID" name="inputFileName" onload="readInputFile()"></iframe>
...
frames["inputFileName"].location.href = url; // url 的內容可以是任何的 remote file url
...
在 readInputFile 函數裡:
x = document.getElementById("inputFileID").contentDocument;
myvar = x.body.innerHTML;
不曉得為什麼,如果直接用 myvar = document.getElementById("inputFileID").contentDocument.body.innerHTML;
就不行。

用 frame 不行的原因,查了一下,大概是 frame 沒有contentDocument.body.innerHTML 這個咚咚!

發表人:  露仁甲 [ 2010-11-11, 11:39 ]
文章主題 :  Re: JavaScript 要如何讀取資料夾和檔案的內容?有解答了!

代碼:
   url="C:\\TRY\\"+ABC+".txt";  //讀取文字檔案,本機C:\或網路http://都適用
   objXml = new ActiveXObject("Microsoft.XMLHTTP");
   // objXml = new ActiveXObject("Msxml2.XMLHTTP"); older version
   var datafile = url;
   objXml.open("GET", datafile, true);
   objXml.onreadystatechange=function() {
      if (objXml.readyState==4) {
          if1.value=objXml.responseText;//取得指定檔案內容
     }
   if(objXml.responseText==''){if1.value="找不到檔案";}

    }
   objXml.send(null);

利用AJAX把檔案讀取進來,僅適用IE5+版本
至於要適用到FireFox、Opera、Chrome就麻煩自行研究了
主要從objXml這行去判別使用者使用的瀏覽器

1 頁 (共 1 頁) 所有顯示的時間為 UTC + 8 小時
Powered by phpBB® Forum Software © phpBB Group
https://www.phpbb.com/