|
|
@@ -1076,20 +1076,17 @@ pre code {
|
|
|
content = content.replace(/<script data-template-shadow-root src.*?<\/script>/g, initScriptContent);
|
|
|
}
|
|
|
if (pageCompressContent) {
|
|
|
- if (message.foregroundSave) {
|
|
|
- alert("Foreground save not supported for compressed content");
|
|
|
- } else {
|
|
|
- const viewport = document.head.querySelector("meta[name=viewport]");
|
|
|
- window.parent.postMessage(JSON.stringify({
|
|
|
- method: "setContent",
|
|
|
- content,
|
|
|
- title: document.title,
|
|
|
- doctype: singlefile.helper.getDoctypeString(document),
|
|
|
- url: pageUrl,
|
|
|
- viewport: viewport ? viewport.content : null,
|
|
|
- compressContent: true
|
|
|
- }), "*");
|
|
|
- }
|
|
|
+ const viewport = document.head.querySelector("meta[name=viewport]");
|
|
|
+ window.parent.postMessage(JSON.stringify({
|
|
|
+ method: "setContent",
|
|
|
+ content,
|
|
|
+ title: document.title,
|
|
|
+ doctype: singlefile.helper.getDoctypeString(document),
|
|
|
+ url: pageUrl,
|
|
|
+ viewport: viewport ? viewport.content : null,
|
|
|
+ compressContent: true,
|
|
|
+ foregroundSave: message.foregroundSave
|
|
|
+ }), "*");
|
|
|
} else {
|
|
|
if (message.foregroundSave) {
|
|
|
if (message.filename && message.filename.length) {
|
|
|
@@ -1113,6 +1110,12 @@ pre code {
|
|
|
if (message.method == "displayInfobar") {
|
|
|
singlefile.helper.displayIcon(document, true);
|
|
|
}
|
|
|
+ if (message.method == "download") {
|
|
|
+ const link = document.createElement("a");
|
|
|
+ link.download = message.filename;
|
|
|
+ link.href = URL.createObjectURL(new Blob([new Uint8Array(message.content)], { type: "text/html" }));
|
|
|
+ link.dispatchEvent(new MouseEvent("click"));
|
|
|
+ }
|
|
|
};
|
|
|
window.onresize = reflowNotes;
|
|
|
document.ondragover = event => event.preventDefault();
|