現時点では、Javascript の悪夢に悩まされています。
html2canvas を使用して div をキャンバス.toDataURL
に変換し、次にキャンバスを base64 データ ストリームに変換しています。
base64 画像データを新しいウィンドウで開きたいのですが、テストしたすべてのポップアップ ブロッカーによってブロックされます。
ここに私の関数のサンプルがあります
function generateImage(xarg){
var divid= document.getElementById(xarg);
html2canvas(divid, {
onrendered: function(canvas) {
var imgdata = canvas.toDataURL("image/png");
window.open(imgdata);
}
});
}
なぜ私window.open
がブロックされているのですか?
編集:私が持っていた別のアイデアは、画像のダウンロードを開始することですが、私が見つけたすべての解決策ではimage/octet-stream
、ファイルタイプを台無しにするデータを変更する必要があり、ユーザーはそれに対処できません(特にモバイル デバイスの場合)。私は元々、自分の状況を説明するためにもっと長い投稿をしていましたが、簡潔にするために切り捨てました。