mirror of
https://github.com/alexadam/save-as-ebook.git
synced 2025-09-15 19:59:43 +00:00
misc
This commit is contained in:
parent
d91272b741
commit
e72d865c09
5 changed files with 54 additions and 50 deletions
|
@ -11,17 +11,25 @@ function getImageSrc(srcTxt) {
|
|||
return '../images/' + allImgSrc[srcTxt];
|
||||
}
|
||||
|
||||
function generateRandomTag() {
|
||||
var text = "";
|
||||
var possible = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
|
||||
|
||||
for(var i = 0; i < 10; i++)
|
||||
text += possible.charAt(Math.floor(Math.random() * possible.length));
|
||||
|
||||
return text;
|
||||
}
|
||||
|
||||
function force(contentString) {
|
||||
try {
|
||||
var tagOpen = '@@@'; //TODO
|
||||
var tagClose = '###';
|
||||
var tagOpen = '@@@' + generateRandomTag();
|
||||
var tagClose = '###' + generateRandomTag();
|
||||
var inlineElements = ['h1', 'h2', 'h3', 'sup', 'b', 'i', 'em', 'code', 'pre', 'p'];
|
||||
var replaceElements = [['li', 'p']];
|
||||
|
||||
var $content = $(contentString);
|
||||
|
||||
// TODO replace li with p
|
||||
|
||||
$content.find('img').each(function (index, elem) {
|
||||
$(elem).replaceWith('<span>' + tagOpen + 'img src="' + getImageSrc($(elem).attr('src')) + '"' + tagClose + tagOpen + '/img' + tagClose + '</span>');
|
||||
});
|
||||
|
@ -30,7 +38,7 @@ function force(contentString) {
|
|||
$(elem).replaceWith('<span>' + tagOpen + 'a href="' + getHref($(elem).attr('href')) + '"' + tagClose + $(elem).html() + tagOpen + '/a' + tagClose + '</span>');
|
||||
});
|
||||
|
||||
if ($('*').length < maxNrOfElements) { // TODO
|
||||
if ($('*').length < maxNrOfElements) {
|
||||
inlineElements.forEach(function (tagName) {
|
||||
$content.find(tagName).each(function (index, elem) {
|
||||
var $elem = $(elem);
|
||||
|
@ -57,8 +65,8 @@ function force(contentString) {
|
|||
contentString = contentString.replace(/&/gi, '&');
|
||||
|
||||
return contentString;
|
||||
} catch(e) {
|
||||
console.log(e);
|
||||
} catch (e) {
|
||||
console.log('Error:', e);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -77,21 +85,12 @@ function sanitize(rawContentString) {
|
|||
dirty = '<div>' + $wdirty.html() + '</div>';
|
||||
|
||||
////////////////
|
||||
return force(dirty);
|
||||
|
||||
return force(dirty); // TODO
|
||||
|
||||
|
||||
/// TODO
|
||||
|
||||
if ($('*').length < maxNrOfElements) { // TODO
|
||||
return force(dirty); // TODO
|
||||
if ($('*').length < maxNrOfElements) {
|
||||
return force(dirty);
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
// var dirty = '<div>' + document.getElementsByTagName('body')[0].innerHTML + '</div>';
|
||||
|
||||
var results = '';
|
||||
var lastFragment = '';
|
||||
var lastTag = '';
|
||||
|
@ -163,15 +162,14 @@ function sanitize(rawContentString) {
|
|||
}
|
||||
});
|
||||
|
||||
// results = results.replace(/<([^>]+?)>\s*<\/\1>/gim, '');
|
||||
results = results.replace(/&[a-z]+;/gim, '');
|
||||
// results = results.replace(/&[a-z]+;/gim, '');
|
||||
results = results.replace(/&/gi, '&');
|
||||
results = results.replace(/&/gi, '&');
|
||||
|
||||
return results;
|
||||
|
||||
} catch (e) {
|
||||
console.trace();
|
||||
console.log(e);
|
||||
|
||||
console.log('Error:', e);
|
||||
return force(dirty);
|
||||
}
|
||||
|
||||
|
@ -184,7 +182,7 @@ function getContent(htmlContent) {
|
|||
var dirty = '<div>' + tmp.innerHTML + '</div>';
|
||||
return sanitize(dirty);
|
||||
} catch (e) {
|
||||
console.log(e);
|
||||
console.log('Error:', e);
|
||||
return '';
|
||||
}
|
||||
}
|
||||
|
@ -200,10 +198,10 @@ function getPageTitle(inp) { //TODO
|
|||
}
|
||||
|
||||
function getSelectedNodes() {
|
||||
if (document.selection) {
|
||||
// if (document.selection) {
|
||||
// return document.selection.createRange().parentElement();
|
||||
return document.selection.createRange();
|
||||
}
|
||||
// return document.selection.createRange();
|
||||
// }
|
||||
var selection = window.getSelection();
|
||||
var docfrag = [];
|
||||
for (var i = 0; i < selection.rangeCount; i++) {
|
||||
|
@ -259,8 +257,7 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
|
|||
var tmpDeffered = deferredAddZip(getImgDownloadUrl(imgSrc), allImgSrc[imgSrc]);
|
||||
imgsPromises.push(tmpDeffered);
|
||||
} catch (e) {
|
||||
alert(e);
|
||||
console.log(e);
|
||||
console.log('Error:', e);
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -273,8 +270,8 @@ chrome.runtime.onMessage.addListener(function(request, sender, sendResponse) {
|
|||
content: tmpContent
|
||||
};
|
||||
sendResponse(result);
|
||||
}).fail(function(err) {
|
||||
console.log('ERROR', JSON.stringify(err));
|
||||
}).fail(function(e) {
|
||||
console.log('Error:', e);
|
||||
});
|
||||
|
||||
return true;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue