mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
removed screenshots.html, it's available in gh-pages branch
This commit is contained in:
parent
94f2f799a4
commit
6eab1d5a9c
BIN
loading.gif
BIN
loading.gif
Binary file not shown.
Before Width: | Height: | Size: 8.0 KiB |
348
screenshots.html
348
screenshots.html
@ -1,348 +0,0 @@
|
||||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<title>JavaScript screenshot creator</title>
|
||||
|
||||
<style type="text/css">
|
||||
a {
|
||||
color: #0B0B0B;
|
||||
background-color: #FDF9EE;
|
||||
padding: 0 8px;
|
||||
text-decoration: none;
|
||||
font: normal 12px/16px "Trebuchet MS", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #0B0B0B;
|
||||
background-color: #EFEBDE;
|
||||
padding: 0 8px;
|
||||
text-decoration: none;
|
||||
font: normal 12px/16px "Trebuchet MS", Arial, Helvetica, sans-serif;
|
||||
}
|
||||
body {
|
||||
font: normal 14px/19px Arial, Helvetica, sans-serif;
|
||||
background-color: white;
|
||||
color: #4E4628;
|
||||
}
|
||||
|
||||
textarea {
|
||||
background-color: #EFEBDE;
|
||||
color: #0B0B0B;
|
||||
border: #C3BCA4 1px solid;
|
||||
|
||||
|
||||
|
||||
|
||||
font: normal 11px Arial, Helvetica, sans-serif;
|
||||
width:300px;
|
||||
height:150px;
|
||||
}
|
||||
|
||||
h2 {
|
||||
background-color: white;
|
||||
color: #0B0B0B;
|
||||
font: normal 28px/46px Georgia, "Times New Roman", Times, serif;
|
||||
margin:0;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
h3 {
|
||||
|
||||
color: #786E4E;
|
||||
padding: 0 0 10px 55px;
|
||||
|
||||
|
||||
height: 37px;
|
||||
font: normal 24px/30px Georgia, "Times New Roman", Times, serif;
|
||||
}
|
||||
ul{
|
||||
float:left;
|
||||
margin:0;
|
||||
|
||||
}
|
||||
|
||||
table{
|
||||
margin:0 auto;
|
||||
width:400px;
|
||||
border:1px solid black;
|
||||
}
|
||||
#content{
|
||||
clear:both;
|
||||
text-align:center;
|
||||
}
|
||||
|
||||
#about{
|
||||
padding:0 10px;
|
||||
width:450px;
|
||||
float:left;
|
||||
}
|
||||
|
||||
</style>
|
||||
|
||||
<script type="text/javascript" src="external/jquery-1.6.2.min.js"></script>
|
||||
<script type="text/javascript" src="build/html2canvas.js?221"></script>
|
||||
<script type="text/javascript" src="build/jquery.plugin.html2canvas.js"></script>
|
||||
<script type="text/javascript" src="http://www.hertzen.com/js/ganalytics-heatmap.js"></script>
|
||||
<script type="text/javascript">
|
||||
|
||||
var date = new Date();
|
||||
var message,
|
||||
timeoutTimer,
|
||||
timer;
|
||||
|
||||
var proxyUrl = "http://html2canvas.appspot.com";
|
||||
|
||||
function addRow(table,field,val){
|
||||
var tr = $('<tr />').appendTo( $(table));
|
||||
|
||||
tr.append($('<td />').css('font-weight','bold').text(field)).append($('<td />').text(val));
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
function throwMessage(msg,duration){
|
||||
|
||||
window.clearTimeout(timeoutTimer);
|
||||
timeoutTimer = window.setTimeout(function(){
|
||||
message.fadeOut(function(){
|
||||
message.remove();
|
||||
});
|
||||
},duration || 2000);
|
||||
$(message).remove();
|
||||
message = $('<div />').html(msg).css({
|
||||
margin:0,
|
||||
padding:10,
|
||||
background: "#000",
|
||||
opacity:0.7,
|
||||
position:"fixed",
|
||||
top:10,
|
||||
right:10,
|
||||
fontFamily: 'Tahoma' ,
|
||||
color:'#fff',
|
||||
fontSize:12,
|
||||
borderRadius:12,
|
||||
width:'auto',
|
||||
height:'auto',
|
||||
textAlign:'center',
|
||||
textDecoration:'none'
|
||||
}).hide().fadeIn().appendTo('body');
|
||||
}
|
||||
|
||||
$(function(){
|
||||
|
||||
$('ul li a').click(function(e){
|
||||
e.preventDefault();
|
||||
$('#url').val(this.href);
|
||||
$('button').click();
|
||||
})
|
||||
|
||||
var iframe,d;
|
||||
|
||||
|
||||
|
||||
|
||||
$('input[type="button"]').click(function(){
|
||||
$(iframe.contentWindow).unbind('load');
|
||||
$(iframe).contents().find('body').html2canvas({
|
||||
canvasHeight: d.body.scrollHeight,
|
||||
canvasWidth: d.body.scrollWidth,
|
||||
logging:true
|
||||
|
||||
});
|
||||
|
||||
});
|
||||
|
||||
$('button').click(function(){
|
||||
|
||||
$(this).prop('disabled',true);
|
||||
var url = $('#url').val();
|
||||
$('#content').append($('<img />').attr('src','loading.gif').css('margin-top',40));
|
||||
|
||||
var urlParts = document.createElement('a');
|
||||
urlParts.href = url;
|
||||
|
||||
$.ajax({
|
||||
data: {
|
||||
xhr2:false,
|
||||
url:urlParts.href
|
||||
|
||||
},
|
||||
url: proxyUrl,
|
||||
dataType: "jsonp",
|
||||
success: function(html){
|
||||
|
||||
|
||||
iframe = document.createElement('iframe');
|
||||
$(iframe).css({
|
||||
'visibility':'hidden'
|
||||
}).width($(window).width()).height($(window).height());
|
||||
$('#content').append(iframe);
|
||||
d = iframe.contentWindow.document;
|
||||
|
||||
d.open();
|
||||
|
||||
$(iframe.contentWindow).load(function(){
|
||||
|
||||
// timer = date.getTime();
|
||||
|
||||
var date = new Date();
|
||||
var message,
|
||||
timeoutTimer,
|
||||
timer = date.getTime();
|
||||
var body = $(iframe).contents().find('body')[0];
|
||||
var preload = html2canvas.Preload(body, {
|
||||
"complete": function(images){
|
||||
|
||||
var queue = html2canvas.Parse(body, images);
|
||||
|
||||
|
||||
var canvas = $(html2canvas.Renderer(queue));
|
||||
var finishTime = new Date();
|
||||
|
||||
|
||||
$("#content").empty().append(canvas);
|
||||
|
||||
// throwMessage('Screenshot created in '+ ((finishTime.getTime()-timer)/1000) + " seconds<br />",4000);
|
||||
}
|
||||
});
|
||||
/*
|
||||
$(iframe).contents().find('body').html2canvas({
|
||||
canvasHeight: d.body.scrollHeight,
|
||||
canvasWidth: d.body.scrollWidth,
|
||||
logging:true,
|
||||
proxyUrl: proxyUrl,
|
||||
logger:function(msg){
|
||||
$('#logger').val(function(e,i){
|
||||
return i+"\n"+msg;
|
||||
});
|
||||
|
||||
},
|
||||
ready: function(renderer) {
|
||||
$('button').prop('disabled',false);
|
||||
$("#content").empty();
|
||||
var finishTime = new Date();
|
||||
|
||||
var table = $('<table />');
|
||||
$('#content')
|
||||
.append('<h2>Screenshot</h2>')
|
||||
.append(renderer.canvas)
|
||||
.append('<h3>Details</h3>')
|
||||
.append(table);
|
||||
|
||||
|
||||
|
||||
addRow(table,"Creation time",((finishTime.getTime()-timer)/1000) + " seconds");
|
||||
addRow(table,"Total draws", renderer.numDraws);
|
||||
addRow(table,"Context stacks", renderer.contextStacks.length);
|
||||
addRow(table,"Loaded images", renderer.images.length/2);
|
||||
addRow(table,"Performed z-index reorder", renderer.needReorder);
|
||||
addRow(table,"Used rangeBounds", renderer.support.rangeBounds);
|
||||
|
||||
|
||||
|
||||
throwMessage('Screenshot created in '+ ((finishTime.getTime()-timer)/1000) + " seconds<br />Total of "+renderer.numDraws+" draws performed",4000);
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
});*/
|
||||
|
||||
});
|
||||
|
||||
$('base').attr('href',urlParts.protocol+"//"+urlParts.hostname+"/");
|
||||
var base = "<base href='"+urlParts.protocol+"//"+urlParts.hostname+"/' />";
|
||||
var headIdx = html.indexOf('<head');
|
||||
var endHeadIdx = html.indexOf('>', headIdx);
|
||||
html = html.substring(0, endHeadIdx + 1) + base + html.substring(endHeadIdx + 1);
|
||||
if ($("#disablejs").prop('checked')){
|
||||
html = html.replace(/\<script/gi,"<!--<script");
|
||||
html = html.replace(/\<\/script\>/gi,"<\/script>-->");
|
||||
}
|
||||
// console.log(html);
|
||||
d.write(html);
|
||||
|
||||
d.close();
|
||||
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
});
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
});
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
||||
|
||||
var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-188600-10']);_gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})();
|
||||
|
||||
</script>
|
||||
<base />
|
||||
</head>
|
||||
<body>
|
||||
<!-- <div style="background:red;padding:10px;color:#fff">
|
||||
App engine proxy is <a href="http://twitter.com/#!/Niklasvh/status/96265826713350144">temporarily out of use</a> due to exceeded bandwidth use. Please try again tomorrow or meanwhile check other examples <a href="http://html2canvas.hertzen.com/">here</a>.
|
||||
</div>-->
|
||||
|
||||
<div style="float:left;width:500px;">
|
||||
<h1>JavaScript screenshot creator</h1>
|
||||
<label for="url">Website URL:</label>
|
||||
<input type="url" id="url" value="http://www.yahoo.com" /><button>Get screenshot!</button>
|
||||
<!-- <input type="button" value="Try anyway" />--><br />
|
||||
|
||||
|
||||
<label for="disablejs">Disable JavaScript (recommended, doesn't work well with the proxy)</label> <input type="checkbox" id="disablejs" checked /><br />
|
||||
<small>Tested with Google Chrome 12, Firefox 4 and Opera 11.5</small>
|
||||
</div>
|
||||
<div style="float:right;">
|
||||
<div style="margin-left:17px;float:right;">
|
||||
<!-- Place this tag in your head or just before your close body tag -->
|
||||
<script type="text/javascript" src="https://apis.google.com/js/plusone.js"></script>
|
||||
|
||||
<!-- Place this tag where you want the +1 button to render -->
|
||||
<g:plusone size="tall"></g:plusone>
|
||||
</div>
|
||||
|
||||
<div style="float:right;">
|
||||
|
||||
<a href="http://twitter.com/share" class="twitter-share-button" data-url="http://html2canvas.hertzen.com/" data-text="html2canvas - screenshots with #JavaScript" data-count="vertical" data-via="niklasvh">Tweet</a><script type="text/javascript" src="http://platform.twitter.com/widgets.js"></script>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div style="clear:both;"></div>
|
||||
<h3>Recommended (tested) pages:</h3>
|
||||
|
||||
<ul>
|
||||
|
||||
<li><a href="http://www.yahoo.com">yahoo.com</a></li>
|
||||
<li><a href="http://www.google.com">google.com</a></li>
|
||||
<li><a href="https://github.com/niklasvh/html2canvas">github.com</a></li>
|
||||
<li><a href="http://www.smashingmagazine.com">smashingmagazine.com</a></li>
|
||||
<li><a href="http://www.mashable.com">mashable.com</a></li>
|
||||
<li><a href="http://www.facebook.com/google">facebook.com/google</a></li>
|
||||
<li><a href="http://www.youtube.com/">youtube.com</a></li>
|
||||
<li><a href="http://www.cnn.com/">cnn.com</a></li>
|
||||
|
||||
<li><a href="http://www.engadget.com/">engadget.com (lot of elements, very slow)</a></li>
|
||||
<li><a href="http://eu.battle.net/en/">battle.net</a></li>
|
||||
|
||||
|
||||
</ul>
|
||||
|
||||
<div id="about"><b> About</b><br />
|
||||
The whole screenshot is created with JavaScript. The only server interaction that is happening on this page is the proxy for loading the external pages/images into JSONP/CORS enabled page and onwards onto the JavaScript renderer script.
|
||||
There are a lot of problems of loading external pages, even with a proxy, and as such many pages will not render at all. If you wish to try the script properly, I recommend you get a copy of the source from <a href="https://github.com/niklasvh/html2canvas">here</a> instead.
|
||||
</div>
|
||||
<div id="content"></div>
|
||||
|
||||
</body>
|
||||
</html>
|
Loading…
Reference in New Issue
Block a user