2012-09-17 68 views
3

我的桌面上有一個html文件需要一些輸入。我該如何將這些輸入寫入文件到我的電腦上?我需要使用另一種語言來做到這一點嗎(即Python或JavaScript?),我會怎麼做呢?在相關說明中,有沒有什麼辦法可以讓javascript從html文件中啓動應用程序(目標是寫入我的計算機上的文件?如何創建文件並從html頁面追加數據?

+0

它需要將表格發送到某處...(我認爲html只支持GET(我可能是錯誤的)在另一頁上,您可以接收數據並將其寫入...此鏈接可能有助於http:// stackoverflow.com/questions/585234/how-to-read-and-write-into-file-using-javascript –

回答

0

您的問題有點難以回答,如果通過「它需要一些輸入」你的意思是有一個form元素,則涉及您可以處理通過

PHP的語言。如果你只是希望編輯代碼,並開始學習HTML,然後記事本/文本編輯和現代網絡瀏覽器是你的新朋友。

2

瀏覽器有很多安全措施可以防止這種級別的控制l在你的電腦上。這是一件好事。你不想隨機的網站能夠在訪問它們的任何人的計算機上做這些事情。

他們的方式是編寫一個瀏覽器可以訪問的Web應用程序。瀏覽器可以將數據提交到在您自己的計算機上運行的此應用程序,並且您的應用程序可以操縱文件系統或執行許多其他操作。

所以不,瀏覽器不能做這些事情。是的,你將不得不使用「另一種語言」來創建在瀏覽器外部運行的東西。您可以使用javascript(請參閱node.js)或python來執行此操作,以及幾乎任何其他用於創建此類事物的編程語言。選擇哪個取決於你。

+0

HTML 5文件API? –

+0

可能有一個方法與html5,誠實不確定。 –

+0

@Alex Wayne - 是:http://www.w3.org/TR/file-writer-api/ – TMan

2

你將不得不使用另一種語言。你應該看到Save file Javascript with file name(這需要你在你的網站上創建它並讓用戶下載它)和Python Save to file(用於在HTML中實現Python,請參閱here)。或者,在Javascript中你可以使用ActiveX做*保存文件:

的ActiveX

function WriteToFile() 
{ 
var fso = new ActiveXObject("Scripting.FileSystemObject"); 
var s = fso.CreateTextFile("C:\\Test.txt", true); 
s.WriteLine('Hello'); 
s.Close(); 
} 

的Python

myFile = open('Failed.py', 'w') 
myFile.write('whatever') 
myFile.close() 

的Javascript(非的ActiveX)

uriContent = "data:application/octet-stream;filename=filename.txt," + 
      encodeURIComponent(codeMirror.getValue()); 
newWindow=window.open(uriContent, 'filename.txt'); 

**注:我真的不推薦使用ActiveX,詳見ActiveX and Javascript do not mix瞭解更多詳情*

+0

我將如何調用python腳本?用JavaScript我只是把兩個「

0

簡短的回答:

你不能。網頁瀏覽器的安全和沙盒防止了這一點。

較長的答案:

設置一個小LAMP堆棧,Ruby on Rails的(本地主機服務器),Python的/ Django的(本地主機服務器)託管HTML/Web表單。當你輸入一個表單時,本地守護進程可以處理將數據附加到文件。

使用HTML5,您會得到特殊的掛鉤,可能允許您寫入本地文件系統,但這些掛鉤可能是瀏覽器特定的,並可能會不時發生。