Bearbeiten, speichern und ändern Sie Ihr HTML-Dokument selbst. Format generiertes HTML, JavaScript

Motivation:https: //stackoverflow.com/questions/28120689/create-self-modifying-html-page-on-bo

Bug: Escapezeichenfolge, Formatierunghtml , js generiert von initial bearbeitet, gespeicherthtml , js

z.B.

a) wenn "saveFile.html" im lokalen Browser geöffnet ist;

b) tippe "abc" intextarea ;

c) klicke aufsave file Taste

d) klicke aufSave beimSave File dialog;

e)file-*[date according to universal time].html auf Festplatte gespeichert;

f) openfile-*[date according to universal time].html im Browser;

g) tippe "def" intextarea ;

h) wiederhole d), e), f);

i) Fehler: Ergebnis bei zweitemfile-*[date according to universal time].html zeigt @ textarea enthält "abc def" Textinhalt;button nich angezeigt beihtml:

// at rendered `html` from second `file-*[date according to universal time].html`
// `textarea` containing "abc def" displayed here , 
// `button` _not_ displayed ; following string displayed following `textarea`:
');"console.log(clone);var file = new Blob([clone], {'type':'text/html'});a.href = URL.createObjectURL(file);a.download = 'file-' + new Date().getTime() + '.html';a.click();};

generated at line 26, "saveFile.html"

+ "var clone = '<!doctype html>'+ document.documentElement.outerHTML.replace(/<textarea>.*<.+textarea>/, '<textarea>'+document.getElementsByTagName('textarea')[0].value+'<\/textarea>');"

"saveFile.html" v 1.0.0

html, js

<!doctype html>
<html>
<!-- saveFile.html 1.0.0 2015 guest271314 edit, save `html` document -->
<head>
</head>
<body>
<textarea>
</textarea>
<button>save file</button>
<script type="text/javascript">
var saveFile = document.getElementsByTagName("button")[0];
var input = document.getElementsByTagName("textarea")[0];
var a = document.createElement("a");

saveFile.onclick = function(e) {

  var clone = ["<!doctype html><head></head><body><textarea>"
              + input.value
              + "</textarea>"
              + "<button>save file</button>"
              + "<script type='text/javascript'>"
              + "var saveFile = document.getElementsByTagName('button')[0];"
              + "var input = document.getElementsByTagName('textarea')[0];"
              + "var a = document.createElement('a');"
              + "saveFile.onclick = function(e) {"
              + "var clone = '<!doctype html>'+ document.documentElement.outerHTML.replace(/<textarea>.*<.+textarea>/, '<textarea>'+document.getElementsByTagName('textarea')[0].value+'<\/textarea>');"
              + "console.log(clone);"
              + "var file = new Blob([clone], {'type':'text/html'});"
              + "a.href = URL.createObjectURL(file);"
              + "a.download = 'file-' + new Date().getTime() + '.html';"
              + "a.click();"
              + "};"
              + "</scr"+"ipt>"
              + "</body>"
              + "</html>"];

  var file = new Blob([clone], {"type":"text/html"});  
  a.href = URL.createObjectURL(file);
  a.download = "file-" + new Date().getTime() + ".html";
  a.click();  

};
</script>
</body>
</html>

Antworten auf die Frage(4)

Ihre Antwort auf die Frage