Skip to content

Instantly share code, notes, and snippets.

@Rayi
Forked from wintercn/showboxes.js
Created May 21, 2013 07:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save Rayi/5618183 to your computer and use it in GitHub Desktop.
Save Rayi/5618183 to your computer and use it in GitHub Desktop.
function randomColor(){
return "rgb("+Math.floor(Math.random()*255)+","+Math.floor(Math.random()*255)+","+Math.floor(Math.random()*255)+")";
}
function showBoxes(window) {
var rects = [];
function getRects(node){
var range = window.document.createRange();
range.setStartBefore(node);
range.setEndAfter(node);
rects.push.apply(rects,range.getClientRects());
for(var i = 0; i < node.children.length; i++ )
getRects(node.children[i]);
}
getRects(window.document.documentElement);
window.open( "data:image/svg+xml;utf8,<svg xmlns=\"http://www.w3.org/2000/svg\">"+rects.map(function(rect){
return "<rect x=\""+rect.left+"\" y=\""+rect.top+"\" width=\""+rect.width+"\" height=\""+rect.height+"\" style=\"fill:"+randomColor()+";fill-opacity:0.1;stroke:black;stroke-width:1;\"/>";
}).join("")+"</svg>");
}
showBoxes(window);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment