mirror of
https://github.com/chinchang/web-maker.git
synced 2025-06-10 03:35:16 +02:00
use new approach to create preview html.
This commit is contained in:
parent
83b915fdc4
commit
d0e1691f85
@ -83,19 +83,33 @@
|
|||||||
var css = editur.cm.css.getValue();
|
var css = editur.cm.css.getValue();
|
||||||
var js = editur.cm.js.getValue();
|
var js = editur.cm.js.getValue();
|
||||||
|
|
||||||
frame.contentWindow.location.reload();
|
|
||||||
|
|
||||||
// Do everything in next stack so that reload completes. Otherwise
|
html = '<html>\n<head>\n<style>\n' + css + '\n</style>\n</head>\n<body>\n' + html + '\n<script>\n' + js + '\n</script></body>\n</html>';
|
||||||
// the document context persists even after reload.
|
|
||||||
setTimeout(function () {
|
|
||||||
self.demoFrameDocument = frame.contentDocument;
|
|
||||||
html = '<html><head><script>' + 'window.addEventListener("message",function (e){ window.eval(e.data);});' + '</script><style>' + css + '</style></head><body>' + html + '</body></html>';
|
|
||||||
self.demoFrameDocument.open('text/html', 'replace');
|
|
||||||
self.demoFrameDocument.write(html);
|
|
||||||
self.demoFrameDocument.close();
|
|
||||||
|
|
||||||
frame.contentWindow.postMessage(js, '*')
|
var fileWritten = false;
|
||||||
},0);
|
|
||||||
|
var blob = new Blob([ html ], {type : "text/plain;charset=UTF-8"});
|
||||||
|
|
||||||
|
function errorHandler() { console.log(arguments); }
|
||||||
|
|
||||||
|
window.webkitRequestFileSystem(window.TEMPORARY, 1024 * 1024 * 5, function(fs){
|
||||||
|
fs.root.getFile('preview.html', {create: true}, function(fileEntry) {
|
||||||
|
fileEntry.createWriter(function(fileWriter) {
|
||||||
|
function onWriteComplete() {
|
||||||
|
if (fileWritten) {
|
||||||
|
frame.src = 'filesystem:chrome-extension://' + chrome.i18n.getMessage('@@extension_id') + '/temporary/' + 'preview.html';
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
fileWritten = true;
|
||||||
|
fileWriter.seek(0);
|
||||||
|
fileWriter.write(blob);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
fileWriter.onwriteend = onWriteComplete;
|
||||||
|
fileWriter.truncate(0)
|
||||||
|
}, errorHandler);
|
||||||
|
}, errorHandler);
|
||||||
|
}, errorHandler);
|
||||||
};
|
};
|
||||||
|
|
||||||
function initEditor(element, options) {
|
function initEditor(element, options) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user