當前我使用此代碼來讀取帶文字的txt文件並執行一些操作。但是,這個特定的代碼需要將html部署在服務器上。有沒有什麼解決方法,我可以用別的東西替代這個代碼來讀取文件而不需要服務器?Javascript讀取文本文件脫機
var xhr = new XMLHttpRequest();
xhr.open("GET", "dictionary.txt", false);
xhr.send(null);
var words= xhr.responseText.split(",");
當前我使用此代碼來讀取帶文字的txt文件並執行一些操作。但是,這個特定的代碼需要將html部署在服務器上。有沒有什麼解決方法,我可以用別的東西替代這個代碼來讀取文件而不需要服務器?Javascript讀取文本文件脫機
var xhr = new XMLHttpRequest();
xhr.open("GET", "dictionary.txt", false);
xhr.send(null);
var words= xhr.responseText.split(",");
您可以隱藏頁面的iframe,其SRC =「dictionary.txt」,
和讀取或操縱iframe的本地內容時,它的onload事件觸發。
您無法讀取從客戶端的計算機文件,所以您正在閱讀的文本文件必須在同一臺服務器上的JavaScript上。但是,如果您要從計算機加載HTML文件(例如file:// c:/../test.html),則可能只能通過使用相對路徑讀取位於計算機上的文件。
我想讀取位於我的網站文件夾根目錄但不使用Ajax的文件dictionary.txt。有沒有辦法做到這一點?如果用戶選擇一個文件,HTML 5只允許我這樣做。我希望在加載HTML時自動完成此操作 – 2012-02-10 17:51:34
沒有Ajax就不可能。但我不太確定。您可以使用applet或FileSystem對象,也可以使用NativeClient。但除了Ajax之外,沒有其他標準方法。看到這個:http://www.javascripter.net/faq/reading2.htm – riship89 2012-02-10 17:59:23
不可能在服務器域之外調用Ajax(除非使用scriptagproxy,這也需要您有一些服務器端配置)。因此,簡而言之,您無法使用Ajax調用來讀取本地計算機上的文件。
您可能會喜歡this文章。
文件選擇可以通過輸入或拖放(否則)。請參閱:this
沒有這是我現有的代碼,我使用的服務器。我想更改此代碼,以便我可以使用我的Web應用程序並脫機。 HTML 5只允許我在用戶選擇文件時打開文件。我想要自動讀取文件。 – 2012-02-10 17:50:11
https://developer.mozilla.org/en/Using_files_from_web_applications – riship89 2012-02-10 17:53:50
爲什麼你需要讀取文件?爲什麼不把數據包含在頁面中呢? – robertc 2012-02-11 01:23:36