mirror of
https://github.com/alexadam/save-as-ebook.git
synced 2025-09-10 17:34:47 +00:00
keep track of applied styles and add them if Include Style is not set
This commit is contained in:
parent
126ce6f039
commit
53620b6456
2 changed files with 18 additions and 8 deletions
|
@ -324,7 +324,7 @@ function jsonToCss(jsonObj) {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
function extractCss(callback) {
|
function extractCss(appliedStyles, callback) {
|
||||||
getIncludeStyle(function (result) {
|
getIncludeStyle(function (result) {
|
||||||
if (result) {
|
if (result) {
|
||||||
$('body').find('*').each(function (i, pre) {
|
$('body').find('*').each(function (i, pre) {
|
||||||
|
@ -358,6 +358,14 @@ function extractCss(callback) {
|
||||||
});
|
});
|
||||||
callback(jsonToCss(tmpIdsToNewCss));
|
callback(jsonToCss(tmpIdsToNewCss));
|
||||||
} else {
|
} else {
|
||||||
|
var mergedCss = '';
|
||||||
|
if (appliedStyles && appliedStyles.length > 0) {
|
||||||
|
for (var i = 0; i < appliedStyles.length; i++) {
|
||||||
|
mergedCss += appliedStyles[i].style;
|
||||||
|
}
|
||||||
|
callback(mergedCss);
|
||||||
|
return;
|
||||||
|
}
|
||||||
callback();
|
callback();
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
@ -388,8 +396,8 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
|
||||||
var result = {};
|
var result = {};
|
||||||
var pageSrc = '';
|
var pageSrc = '';
|
||||||
var tmpContent = '';
|
var tmpContent = '';
|
||||||
// var styleFile =
|
|
||||||
extractCss(function (styleFile) {
|
extractCss(request.appliedStyles, function (styleFile) {
|
||||||
if (request.type === 'extract-page') {
|
if (request.type === 'extract-page') {
|
||||||
pageSrc = document.getElementsByTagName('body')[0];
|
pageSrc = document.getElementsByTagName('body')[0];
|
||||||
tmpContent = getContent(pageSrc);
|
tmpContent = getContent(pageSrc);
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
var allStyles = [];
|
var allStyles = [];
|
||||||
var currentStyle = null;
|
var currentStyle = null;
|
||||||
|
var appliedStyles = [];
|
||||||
|
|
||||||
getStyles(createStyleList);
|
getStyles(createStyleList);
|
||||||
|
|
||||||
|
@ -83,7 +84,7 @@ document.getElementById("applyStyle").onclick = function() {
|
||||||
active: true
|
active: true
|
||||||
}, function(tab) {
|
}, function(tab) {
|
||||||
chrome.tabs.insertCSS(tab[0].id, {code: currentStyle.style});
|
chrome.tabs.insertCSS(tab[0].id, {code: currentStyle.style});
|
||||||
// window.close(); TODO ?
|
appliedStyles.push(currentStyle);
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -168,18 +169,19 @@ function dispatch(action, justAddToBuffer) {
|
||||||
chrome.tabs.executeScript(tab[0].id, {
|
chrome.tabs.executeScript(tab[0].id, {
|
||||||
file: 'extractHtml.js'
|
file: 'extractHtml.js'
|
||||||
}, function() {
|
}, function() {
|
||||||
sendMessage(tab[0].id, action, justAddToBuffer);
|
sendMessage(tab[0].id, action, justAddToBuffer, appliedStyles);
|
||||||
});
|
});
|
||||||
} else if (response.echo) {
|
} else if (response.echo) {
|
||||||
sendMessage(tab[0].id, action, justAddToBuffer);
|
sendMessage(tab[0].id, action, justAddToBuffer, appliedStyles);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function sendMessage(tabId, action, justAddToBuffer) {
|
function sendMessage(tabId, action, justAddToBuffer, appliedStyles) {
|
||||||
chrome.tabs.sendMessage(tabId, {
|
chrome.tabs.sendMessage(tabId, {
|
||||||
type: action
|
type: action,
|
||||||
|
appliedStyles: appliedStyles
|
||||||
}, function(response) {
|
}, function(response) {
|
||||||
if (response.length === 0) {
|
if (response.length === 0) {
|
||||||
if (justAddToBuffer) {
|
if (justAddToBuffer) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue