<div id="1" class="aaa" style="position: relative; left: 50px; top: 50px; width: 300px; height: 200px; border: solid 1px; background: #dddddd; overflow: hidden;">
<div style="position: relative; left: 30px; top: 25px; width: 100px; height: 50px; background: blue;" onmouseenter="this.style.background='red';"></div>
<div style="position: relative; left: 160px; top: 70px; width: 100px; height: 50px; background: blue;" onmouseenter="this.style.background='orange';"></div>
</div>
<div id="2" class="bbb" style="position: relative; left: 250px; top: 100px; width: 50px; height: 20px; border: solid 1px; background: #cccccc; text-align: center; overflow: hidden;">click</div>
複数のインタラクティブな div を含む 1 つの div (id="1" class="aaa") があります。このインタラクティブなコンテンツの状態は、他の div (id="2" class="bbb") をクリックして画像 (gif?) としてレンダリングできる必要があります。
その画像は、できれば新しいタブまたはウィンドウで開く必要があります。または、右クリック > その場で保存します。
ps html2canvas や phantomjs などのスクリプトは知っていますが、私の場合はそれらを実装する方法がわかりません。
編集:
今、私はこのソリューションを実装しようとしています。これは、少し調整するだけで processing.js ( http://cloud.github.com/downloads/processing-js/processing-js/processing-1.4.1.min. js )。
必要な機能を実現するには、適切な jquery コードと processing.js が必要だと思います。私はこれを試しましたが、うまくいきません:
$('.bbb').click(function (e) {
var canvas = document.getElementById("1"),
img = canvas.toDataURL("image/png");
$('.aaa').document.write('<img src="'+img+'"/>');
});