Фидл 1 (Использование html2canvas): http://liveweave.com/HM9hSY
Скрипки 2 (Использование html2canvas без Codemirror): http://liveweave.com/rS8yxI
Скрипки 3 (Использование html2canvas с Codemirror): http://liveweave.com/TF3Ono
Fiddle 4 (Использование html2canvas с Codemirror): http://liveweave.com/hqPoQgCodeMirror & html2canvas: Сохранить IFrame как изображение
Сегодня я хотел попробовать экспортировать iframe как изображение. Я провел некоторое исследование по этому вопросу и наткнулся на плагин под названием html2canvas, который может сохранять html в качестве изображения. (Документация может быть просмотрена here).
Capture HTML Canvas as gif/jpg/png/pdf?
Using HTML5/Canvas/JavaScript to take screenshots
The first fiddle просто эксперимент так сохранить HTML как изображение. (Эта скрипка не используется Codemirror)
second fiddle сохраняет изображение, но не захватывает предварительный просмотр iframe из источника. (Эта скрипка не использует Codemirror)
third fiddle не сохраняет изображение. (Эта скрипка не используется Codemirror)
Моя проблема с 2nd и 3rd скрипками, где [html2canvas] [17] не сохранить предварительный просмотр IFrame в.
Я играл с этим на протяжении всего вчера и сегодня, и я не был успешным.
Сегодня я решил попробовать и использовать редактор кода Codemirror для рендеринга того, что я хочу.
В основном я снимаю снимок экрана и вставляю в него изображение.
(КСТАТИ Это Fiddle 4 я имею в виду)
я затем открыть изображение в новом окне, используя window.open
после этого я обнуления редактор кода обратно туда, где он был.
Возможно ли сохранить предварительный просмотр/источник iframe как изображение? Я делаю что-то неправильно для достижения этого эффекта?
Любая помощь очень ценится.
$(document).ready(function() {
$("#saveimg").click(function() {
html2canvas($("#preview"), {
onrendered: function(canvas) {
var myImage = canvas.toDataURL("image/png");
$("#imgprev").html("<img src='"+ myImage +"' />");
}
});
});
});
<script src="https://raw.github.com/niklasvh/html2canvas/gh-pages/build/html2canvas.js"></script>
<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<link type='text/css' rel='stylesheet' href='http://necolas.github.io/normalize.css/3.0.1/normalize.css' />
<div align="center">
<p>
<button id="saveimg">
Save as Image
</button>
</p>
</div>
<iframe id="preview" src="http://duckduckgo.com/"></iframe>
<div id="imgprev"></div>
<canvas id="mycanvas"></canvas>