mirror of
https://github.com/niklasvh/html2canvas.git
synced 2023-08-10 21:13:10 +03:00
draft for a bookmarklet to screenshot any page
primarily intended to do debugging/testing
This commit is contained in:
73
src/plugins/bookmarklet.js
Normal file
73
src/plugins/bookmarklet.js
Normal file
@ -0,0 +1,73 @@
|
||||
(function() {
|
||||
/* options, customize to your needs */
|
||||
var server = '//html2canvas.hertzen.com/build',
|
||||
proxy = '//html2canvas.appspot.com',
|
||||
debug = false,
|
||||
profile = false;
|
||||
//DEBUG: server = 'http://localhost/html2canvas'; debug = true;
|
||||
var debugFiles = [
|
||||
'external/jquery-1.6.2.min',
|
||||
'src/Core',
|
||||
'src/Generate',
|
||||
'src/Parse',
|
||||
'src/Preload',
|
||||
'src/Queue',
|
||||
'src/Renderer',
|
||||
'src/plugins/jquery.plugin.html2canvas'
|
||||
],
|
||||
relFiles = [
|
||||
'//code.jquery.com/jquery-1.6.4.js',
|
||||
'html2canvas',
|
||||
'jquery.plugin.html2canvas'
|
||||
],
|
||||
i = 0, el = null;
|
||||
var loader = {
|
||||
index: 0,
|
||||
head: document.getElementsByTagName('head')[0],
|
||||
statusline: document.createElement('div'),
|
||||
files: (debug ? debugFiles : relFiles),
|
||||
onload: function () {
|
||||
var _ = this;
|
||||
if (_.index < _.files.length) {
|
||||
var el = document.createElement('script');
|
||||
el.type = 'text/javascript';
|
||||
el.onload = function() {
|
||||
_.onload();
|
||||
};
|
||||
el.onerror = function() {
|
||||
_.statusline.style.color = 'red';
|
||||
_.statusline.innerHTML = _.statusline.innerHTML + ' failed';
|
||||
_.statusline.onclick = function() {
|
||||
_.statusline.parentNode.removeChild(_.statusline);
|
||||
};
|
||||
};
|
||||
if (_.files[_.index].substr(0, 2) === '//') {
|
||||
el.src = _.files[_.index];
|
||||
}
|
||||
else {
|
||||
el.src = server + '/' + _.files[_.index] + '.js';
|
||||
}
|
||||
_.head.appendChild(el);
|
||||
++_.index;
|
||||
_.statusline.innerHTML = 'html2canvas: loading "' + el.src + '" ' + _.index + ' / ' + _.files.length + '...';
|
||||
}
|
||||
else {
|
||||
_.statusline.parentNode.removeChild(_.statusline);
|
||||
delete _.statusline;
|
||||
$(document.documentElement).html2canvas({
|
||||
logging: debug,
|
||||
profile: profile
|
||||
});
|
||||
}
|
||||
}
|
||||
}, statusline = loader.statusline;
|
||||
statusline.style.position = 'fixed';
|
||||
statusline.style.bottom = '0px';
|
||||
statusline.style.right = '20px';
|
||||
statusline.style.backgroundColor = 'white';
|
||||
statusline.style.border = '1px solid black';
|
||||
statusline.style.borderBottomWidth = '0px';
|
||||
statusline.style.padding = '2px 5px';
|
||||
document.body.appendChild(statusline);
|
||||
loader.onload();
|
||||
}());
|
Reference in New Issue
Block a user