mirror of
https://github.com/alexadam/save-as-ebook.git
synced 2025-09-06 07:29:38 +00:00
saveAs dialog not triggered when invoked from menu
This commit is contained in:
parent
9237935f69
commit
4d14fd5baf
3 changed files with 28 additions and 29 deletions
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"manifest_version": 2,
|
"manifest_version": 2,
|
||||||
"name": "__MSG_extName__",
|
"name": "__MSG_extName__",
|
||||||
"version": "1.3.1",
|
"version": "1.3.2",
|
||||||
"default_locale": "en",
|
"default_locale": "en",
|
||||||
"author": "Alex Adam",
|
"author": "Alex Adam",
|
||||||
"homepage_url": "https://github.com/alexadam/save-as-ebook",
|
"homepage_url": "https://github.com/alexadam/save-as-ebook",
|
||||||
|
@ -30,7 +30,8 @@
|
||||||
"notifications",
|
"notifications",
|
||||||
"http://*/*",
|
"http://*/*",
|
||||||
"https://*/*",
|
"https://*/*",
|
||||||
"<all_urls>"
|
"<all_urls>",
|
||||||
|
"downloads"
|
||||||
],
|
],
|
||||||
"commands": {
|
"commands": {
|
||||||
"save-page": {
|
"save-page": {
|
||||||
|
|
|
@ -221,7 +221,7 @@ function sendMessage(tabId, action, justAddToBuffer, appliedStyles) {
|
||||||
window.close();
|
window.close();
|
||||||
}
|
}
|
||||||
if (!justAddToBuffer) {
|
if (!justAddToBuffer) {
|
||||||
buildEbook([response]);
|
buildEbook([response], true);
|
||||||
} else {
|
} else {
|
||||||
getEbookPages(function (allPages) {
|
getEbookPages(function (allPages) {
|
||||||
allPages.push(response);
|
allPages.push(response);
|
||||||
|
|
|
@ -32,12 +32,12 @@ function buildEbookFromChapters() {
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
|
||||||
function buildEbook(allPages) {
|
function buildEbook(allPages, fromMenu=false) {
|
||||||
_buildEbook(allPages);
|
_buildEbook(allPages, fromMenu);
|
||||||
}
|
}
|
||||||
|
|
||||||
// http://ebooks.stackexchange.com/questions/1183/what-is-the-minimum-required-content-for-a-valid-epub
|
// http://ebooks.stackexchange.com/questions/1183/what-is-the-minimum-required-content-for-a-valid-epub
|
||||||
function _buildEbook(allPages) {
|
function _buildEbook(allPages, fromMenu=false) {
|
||||||
allPages = allPages.filter(function(page) {
|
allPages = allPages.filter(function(page) {
|
||||||
return page !== null;
|
return page !== null;
|
||||||
});
|
});
|
||||||
|
@ -179,27 +179,22 @@ function _buildEbook(allPages) {
|
||||||
|
|
||||||
var done = false;
|
var done = false;
|
||||||
|
|
||||||
|
|
||||||
// FIXME
|
// FIXME
|
||||||
// var saveData = (function () {
|
var saveData = (function () {
|
||||||
// // alert('in save data')
|
var a = document.createElement("a");
|
||||||
// var a = document.createElement("a");
|
document.body.appendChild(a);
|
||||||
// document.body.appendChild(a);
|
a.style = "display: none";
|
||||||
// a.style = "display: none";
|
return function (data, fileName) {
|
||||||
// return function (data, fileName) {
|
var wURL = window.URL || window.mozURL;
|
||||||
// var blob = new Blob([data], {type: "octet/stream"}),
|
var blob = new Blob([data], {type: "application/epub+zip"}),
|
||||||
// url = window.URL.createObjectURL(blob);
|
url = wURL.createObjectURL(blob);
|
||||||
// // alert(url)
|
|
||||||
// // console.log(url);
|
chrome.downloads.download({
|
||||||
//
|
url: url,
|
||||||
// // blob:chrome-extension://odnciljldfihdbbpbpdeehpejonicnmh/12789e3f-4ee2-4287-8203-69bc719c2ce8
|
filename: fileName
|
||||||
// // blob:https://uk.godaddy.com/d9cbd1a4-427d-4e55-a30a-80b9bea6547a
|
});
|
||||||
// a.href = url;
|
};
|
||||||
// a.download = fileName;
|
}());
|
||||||
// a.click();
|
|
||||||
// window.URL.revokeObjectURL(url);
|
|
||||||
// };
|
|
||||||
// }());
|
|
||||||
|
|
||||||
zip.generateAsync({
|
zip.generateAsync({
|
||||||
type: "blob"
|
type: "blob"
|
||||||
|
@ -207,11 +202,14 @@ function _buildEbook(allPages) {
|
||||||
.then(function(content) {
|
.then(function(content) {
|
||||||
done = true;
|
done = true;
|
||||||
console.log("done !");
|
console.log("done !");
|
||||||
|
if (!fromMenu) {
|
||||||
saveAs(content, ebookFileName);
|
saveAs(content, ebookFileName);
|
||||||
// FIXME
|
} else {
|
||||||
// saveData(content, ebookFileName);
|
saveData(content, ebookFileName);
|
||||||
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// FIXME - remove or fix?
|
||||||
setTimeout(function() {
|
setTimeout(function() {
|
||||||
if (done) {
|
if (done) {
|
||||||
return;
|
return;
|
||||||
|
|
Loading…
Add table
Reference in a new issue