2012-04-03 88 views
2

是否可以在javaScript中在同一個目錄中創建一個html文件?在谷歌搜索後我登陸使用ActiveXObject是這樣的: -JavaScript中的文件處理

var fso = new ActiveXObject("Scripting.FileSystemObject"); 
     varFileObject = fso.OpenTextFile("C:\apache-tomcat-7.0.23\webapps\proof\web.html", 2, true,0); 
     varFileObject.write(data); 
     varFileObject.close(); 

但它顯示一個錯誤是ActiveXObject沒有定義或不存在。我不知道爲什麼會出現這個錯誤。此代碼瀏覽器是特定的嗎? 我使用鉻,我需要使用javascript編寫html文件。 請幫助我在上面的代碼中修改哪些內容以便它可以運行。或者幫助我一些其他的選擇。

+1

TiddlyWiki以這種方式執行本地文件I/O - http://oldwiki.tiddlywiki.org/wiki/How_To/Configure_your_browser_to_allow_saves_to_disk – 2012-04-03 08:33:41

+0

ActiveXObject是IE特定的。 – Pranav 2012-04-03 08:34:20

+1

可能是這可以幫助你: - http://stackoverflow.com/questions/292566/browser-application-local-file-system-access – Pranav 2012-04-03 08:38:40

回答

3

ActiveX對象只能在Internet Explorer中使用。並且瀏覽器不允許對您的文件系統進行任何更改。然而,如果你需要保存html頁面,那麼你必須做一些額外的事情,比如發送html頁面或整個頁面的url作爲字符串到服務器,使用tomcat在localhost上託管服務器,並且可以使用java代碼來存儲獲取網址或字符串由您在您的機器上發送。我也這樣做了。如果你需要,我也可以提供你的代碼。 (順便說一句代碼很容易)。 要使用URL獲取頁面,您可以使用非常好的html解析器Jsoup庫。 希望這有助於!

+0

謝謝blunderboy!知道了...我認爲這將工作再次感謝:) :) – 2012-04-04 08:34:56

3

ActiveXObject是一個IE瀏覽器唯一的東西,即使這樣,用戶會被提示是否要使用它,並懷疑它會發出危險警告。

瀏覽器沒有被授予對文件系統的訪問權限,理由很充分。想象一下,如果任何舊網站可以寫入文件到您的磁盤!

+0

是的..感謝埃文幫助我,並清除我的思想。 – 2012-04-03 09:25:45