У меня есть задача, когда мне нужно загрузить URL-адрес (e.g www.yahoo.com)
, на мою веб-страницу и сделать снимок экрана. Я использую html2canvas для скриншота и добавляю его в тело страницы.html2canvas - нет скриншотов для iframe
Страница, указанная по URL-адресу, успешно загружается в iframe внутри элемента div. Но когда я пытаюсь сделать снимок экрана, область iframe пуста.
Ниже приведен код для previewURL
и screenshot
.
//to preview the URL content
function previewUrl(url,target){
//use timeout coz mousehover fires several times
clearTimeout(window.ht);
window.ht = setTimeout(function(){
var div = document.getElementById(target);
div.innerHTML = '<iframe style="width:100%;height:100%;" frameborder="0" src="' + url + '" />';
},20);
}
function pic() {
html2canvas(document.body, {
onrendered: function(canvas) {
document.body.appendChild(canvas);
}
});
};
И HTML часть идет здесь:
<body>
<input type="button" class="clear-button" onclick="pic();" value="Take Screenshot" >
<a href="http://www.yahoo.com" onmouseover="previewUrl(this.href,'div1')">Hover to load</a>
<div id="div1"></div>
</body>
скриншот выглядит примерно так:
Я застрял и не понимаю, почему это происходит. Я хочу что-то похожее на this, которое может загружать URL-адрес, а затем onclick может дать мне скриншот.
, как холст подлежит же политику происхождения, вы должны Proxify его на стороне сервера, так же, как ваша размещена ссылка работает –
Как мы достигаем этого? Пример или что-то было бы полезно. –
Вы не можете сделать это с помощью html2canvas. Об этом говорится в документации. –