X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=inliner.js;h=f079dd86cfe9060762b84925b8623e83da5f4530;hb=e72cfcbc6463587183427fc6ac76a23416695833;hp=8b90a907e5271a0fd88679daa6d5671ce3e31afa;hpb=9bcb1458218a13b4f0202bd114c2f7a334c7ad09;p=app.webkitpdf diff --git a/inliner.js b/inliner.js index 8b90a90..f079dd8 100644 --- a/inliner.js +++ b/inliner.js @@ -1,4 +1,17 @@ - +/** + * + * could this work by findind all the visible text, + * then making them hidden.. + * + * -- make a snapshot of the background.. + * + * -- delete the whole page... + * -- show the image as the background. + * -- then overlay all the text given their calculated positions.. + * + * + * + */ (function(){ @@ -9,13 +22,13 @@ - var fillStyle = function(dom) + var fillStyle = function(dom, pstyle) { if (!dom || dom.nodeType != 1) { - console.log("SKIP: " + dom.nodeName); + //console.log("SKIP: " + dom.nodeName); return; } - console.log(dom.nodeName); + //console.log(dom.nodeName); var style = window.getComputedStyle(dom, null); if (style.display == 'none' || dom.nodeName == "NOSCRIPT" || dom.nodeName == "SCRIPT" ) { @@ -38,8 +51,8 @@ } for (var i = 0;i < cn.length;i++) { - console.log( i + ':'+ cn[i].nodeName); - fillStyle(cn[i]); + //console.log( i + ':'+ cn[i].nodeName); + fillStyle(cn[i], style); } @@ -48,7 +61,9 @@ // pstyle = window.getComputedStyle(dom.parentElement, null); //} - + if (dom.nodeName == 'SPAM') { + pstyle = false; //?? others?? + } //if (dom.nodeName == 'LI') { throw 'done'; } @@ -60,9 +75,9 @@ //returns[camel] = val; // idea... if the parent has the same style.. then do not apply it to the child? - //if (pstyle && pstyle[prop] == val) { - // continue; - //} + if (pstyle && pstyle[prop] == val) { + continue; + } //console.log(prop + '=' + val); dom.style[camel] = val; @@ -80,17 +95,26 @@ var el = document.querySelector('body'); - fillStyle(el); + fillStyle(el), false; var matches = document.getElementsByTagName('style'); + var rm = []; for(var i =0;i < matches.length;i++) { - matches[i].parentElement.removeChild(matches[i]); + rm.push(matches[i]); + } var matches = document.getElementsByTagName('link'); for(var i =0;i < matches.length;i++) { - // matches[i].parentElement.removeChild(matches[i]); + rm.push(matches[i]); } + for(var i =0 ; i < rm.length;i++) { + rm[i].parentNode.removeChild(rm[i]); + } + + + } changeit(); + console.log("done"); })(); \ No newline at end of file