![](/img/trans.png)
[英]How to append data from JavaScript file to the html file dynamically
[英]How to create a file and append data from html page ?
我的桌面上有一個html文件需要一些輸入。 我如何將該輸入寫入我的計算機上的文件? 我是否必須使用另一種語言(即python或javascript?),我將如何做到這一點? 在相關的說明中,有什么方法可以讓javascript從html文件中啟動一個應用程序(目標是寫入我的計算機上的文件?
瀏覽器具有很多安全性,可以防止對您的計算機進行這種級別的控制。 這是一件好事。 您不希望隨機網站能夠在訪問它們的任何人的計算機上執行此操作。
他們這樣做的方法是編寫一個瀏覽器可以訪問的Web應用程序。 瀏覽器可以將數據提交到在您自己的計算機上運行的此應用程序,您的應用程序可以操作文件系統或執行許多其他操作。
所以不,瀏覽器不能做這些事情。 是的,您必須使用“另一種語言”來創建在瀏覽器本身之外運行的東西。 您可以使用javascript(請參閱node.js)或python來執行此操作,以及幾乎任何其他用於創建此類事物的編程語言。 選擇哪一個取決於你。
你必須使用另一種語言。 您應該看到使用文件名保存文件Javascript (這需要您在網站上創建它並讓用戶下載它)和Python保存到文件 (用於在HTML中實現Python,請參見此處 )。 或者在Javascript中,您可以通過執行*來使用ActiveX
來保存文件:
的ActiveX
function WriteToFile()
{
var fso = new ActiveXObject("Scripting.FileSystemObject");
var s = fso.CreateTextFile("C:\\Test.txt", true);
s.WriteLine('Hello');
s.Close();
}
蟒蛇
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和Javascript不要混合更多細節*
現在可以使用目前僅Chrome和Opera支持的FileWriter
API來使用Javascript寫入本地文件:
http://caniuse.com/#search=filewriter
以下是HTML5Rocks.com的一些示例代碼:
function onInitFs(fs) {
fs.root.getFile('log.txt', {create: true}, function(fileEntry) {
// Create a FileWriter object for our FileEntry (log.txt).
fileEntry.createWriter(function(fileWriter) {
fileWriter.onwriteend = function(e) {
console.log('Write completed.');
};
fileWriter.onerror = function(e) {
console.log('Write failed: ' + e.toString());
};
// Create a new Blob and write it to log.txt.
var blob = new Blob(['Lorem Ipsum'], {type: 'text/plain'});
fileWriter.write(blob);
}, errorHandler);
}, errorHandler);
}
window.requestFileSystem(window.TEMPORARY, 1024*1024, onInitFs, errorHandler);
你的問題有點難以回答。 如果“需要一些輸入”意味着有一個form
元素,那么你可以通過像PHP這樣的語言來處理它。
如果您只是想編輯代碼並開始學習HTML,那么Notepad / TextEdit和現代 Web瀏覽器是您最好的朋友。
簡短回答:
你不能。 Web瀏覽器安全性和沙盒防止這種情況。
更長的回答:
設置一個小型LAMP堆棧,Ruby on rails(本地主機服務器),Python / Django(本地主機服務器)來托管您的HTML / Web表單。 當您將數據輸入到表單中時,本地守護程序可以處理將數據附加到文件。
使用HTML5,您可以獲得可以允許您寫入本地文件系統的特殊掛鈎,但這些掛鈎可能是特定於瀏覽器的,並且可能會不時地中斷。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.