diff --git a/web-extension/extractHtml.js b/web-extension/extractHtml.js index 97dc6d6..f0d4f8f 100644 --- a/web-extension/extractHtml.js +++ b/web-extension/extractHtml.js @@ -45,6 +45,8 @@ var supportedCss = [ ////// function getImageSrc(srcTxt) { + + if (!srcTxt) { return ''; } @@ -53,23 +55,26 @@ function getImageSrc(srcTxt) { return ''; } - // TODO - convert with svg sources to jpeg + // TODO move + srcTxt = srcTxt.replace(/&/g, '&') - // TODO https://preview.redd.it/oyj35v4jrri41.png?width=960&crop=smart&auto=webp&s=aa6dac5580038f489faa707093710f427ec83b20 + // TODO - convert with svg sources to jpeg OR add support for svg - var fileExtension = getFileExtension(srcTxt); + let fileExtension = getFileExtension(srcTxt); if (fileExtension === '') { return ''; } - var newImgFileName = 'img-' + generateRandomNumber(true) + '.' + fileExtension; + let newImgFileName = 'img-' + generateRandomNumber(true) + '.' + fileExtension; - var isB64Img = isBase64Img(srcTxt); + let isB64Img = isBase64Img(srcTxt); if (isB64Img) { extractedImages.push({ filename: newImgFileName, // TODO name data: getBase64ImgData(srcTxt) }); } else { + console.log("img url", fileExtension, getImgDownloadUrl(srcTxt)); + allImages.push({ originalUrl: getImgDownloadUrl(srcTxt), filename: newImgFileName, // TODO name @@ -90,7 +95,7 @@ function extractMathMl($htmlObject) { function extractCanvasToImg($htmlObject) { $htmlObject.find('canvas').each(function (index, elem) { try { - var imgUrl = docEl.toDataURL('image/jpeg'); + let imgUrl = docEl.toDataURL('image/jpeg'); $(elem).replaceWith(''); } catch (e) { console.log(e) @@ -107,7 +112,7 @@ function extractSvgToImg($htmlObject) { let newWidth = bbox.width let newHeight = bbox.height let svgXml = serializer.serializeToString(elem); - var imgSrc = 'data:image/svg+xml;base64,' + window.btoa(svgXml); + let imgSrc = 'data:image/svg+xml;base64,' + window.btoa(svgXml); $(elem).replaceWith('' + ''); }); } diff --git a/web-extension/utils.js b/web-extension/utils.js index 0acfbea..41e7de9 100644 --- a/web-extension/utils.js +++ b/web-extension/utils.js @@ -162,18 +162,18 @@ function getImgDownloadUrl(imgSrc) { return getAbsoluteUrl(imgSrc); } -function getAbsoluteUrl(urlStr) { +function getAbsoluteUrl(urlStr) { if (!urlStr) { return ''; } + if (urlStr.length === 0) { + return ''; + } try { - if (urlStr.length === 0) { - return ''; - } - urlStr = decodeHtmlEntity(urlStr); - var currentUrl = getCurrentUrl(); - var originUrl = getOriginUrl(); - var absoluteUrl = urlStr; + urlStr = decodeHtmlEntity(urlStr); + let currentUrl = getCurrentUrl(); + let originUrl = getOriginUrl(); + let absoluteUrl = urlStr; originUrl = removeEndingSlash(originUrl) currentUrl = removeEndingSlash(currentUrl) @@ -187,7 +187,8 @@ function getAbsoluteUrl(urlStr) { } else if (urlStr.indexOf('http') !== 0) { absoluteUrl = currentUrl + '/' + urlStr; } - absoluteUrl = escapeXMLChars(absoluteUrl); + // TODO is this needed? + // absoluteUrl = escapeXMLChars(absoluteUrl); return absoluteUrl; } catch (e) { console.log('Error:', e);