2017-03-16 10 views
0

有没有办法“打开”在textarea中打开一个TXT文件,并自动保存在关闭或URL更改?有没有办法在textarea上“打开”打开一个TXT文件,并自动保存为关闭或URL更改?

我需要这个来自动打开TXT文件并在退出页面或关闭浏览器时自动保存它。

的JavaScript:

/** ReLoad File BEGINS**/ 
function ReLoadFile() 
{ 
    var FileToLoad = document.getElementById("FileToLoad").files[0]; 
    var fileReader = new FileReader(); 
    fileReader.onload = function(fileLoadedEvent) 
    { 
     var textFromFileLoaded = fileLoadedEvent.target.result; 
     document.getElementById("text").value = textFromFileLoaded; 
    }; 
    fileReader.readAsText(FileToLoad, "UTF-8"); 
} 
/** ReLoad File ENDS**/ 

/** Save File As FUNC p-1 BEGINS **/ 
var types = [ 
    {"extension": ".html", "name": "HTML"}, 
    {"extension": ".txt", "name": "Plain Text"}, 
    {"extension": ".js", "name": "Javascript"}, 
    {"extension": ".css", "name": "CSS"}, 
] 
types.forEach(function(type) { 
    $opt = $("<option>").attr("value", type.extension).text(type.name) 
    $("#saveas").append($opt) 
}) 

/** Save return if empty BEGINS**/ 
function SaveAsType() 
{ 
    if (document.getElementById("FileNameToSaveAs").value == "") { 
     alert("``Filename Save As`` name is empty.\n  Please give the file a name that you will save it as, before you save it."); 
     return false; 
    } else { 
/** Save File As FUNC p-2 BEGINS **/ 
    { 
    console.log($("#saveas").val()) 

     { 
     var textToSave = document.getElementById("text").value; 
     var textToSaveAsBlob = new Blob([textToSave],  {type:"text/plain" }); 
     var textToSaveAsURL = window.URL.createObjectURL(textToSaveAsBlob); 
     var fileNameToSaveAs = document.getElementById("FileNameToSaveAs").value + "" + $("#saveas").val(); 

     var downloadLink = document.createElement("a"); 
     downloadLink.download = fileNameToSaveAs; 
     downloadLink.innerHTML = "Download File"; 
     downloadLink.href = textToSaveAsURL; 
     downloadLink.onclick = destroyClickedElement; 
     downloadLink.style.display = "none"; 
     document.body.appendChild(downloadLink); 

     downloadLink.click(); 
     } 

    } 
/** Save File As FUNC p-2 ENDS **/ 
    } 
} 
/** Save return if empty ENDS**/ 
/** Save File As FUNC p-1 ENDS **/ 

function destroyClickedElement(event) 
{ 
    document.body.removeChild(event.target); 
} 
/** Save File As ENDS **/ 

HTML:

$(document).ready(function() { 
     // do what you want with the text file 
}); 

对于处理时,浏览器:使用jQuery你可以做自动打开很容易

<input type="file" id="FileToLoad" name="fileLoadName"> 
<input type="button" onclick="ReLoadFile();" value=" Re-Load "> 
<textarea name="text" id="text" rows="34" cols="134" wrap="soft" placeholder="STEP - 1 : Put or load your web page Source Codes here"></textarea> 
<textarea id="FileNameToSaveAs" rows="1" cols="30" maxlength="40" placeholder=" Filename Save As "></textarea> 
<input type="button" onClick="SaveAsType();" value=" Save "> 

回答

1

关闭你可能能够使用jquery的unload()事件。请参阅此处以获取文档:https://api.jquery.com/unload/ 请注意,卸载事件在用户离开页面时被触发。因此,除了在浏览器关闭时触发该事件以外,后退和前进按钮以及单击链接都会触发此事件。

+1

好吧我会试试它... – SeekLoad

+1

它的工作原理。谢谢... – SeekLoad

相关问题