1

現時点では、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、ファイルタイプを台無しにするデータを変更する必要があり、ユーザーはそれに対処できません(特にモバイル デバイスの場合)。私は元々、自分の状況を説明するためにもっと長い投稿をしていましたが、簡潔にするために切り捨てました。

4

1 に答える 1