HTMLを使用してスクリーンショットを撮り、ローカル画像として保存するための実装コード

HTMLを使用してスクリーンショットを撮り、ローカル画像として保存するための実装コード

具体的なコードは次のとおりです。

<!DOCTYPE html>
<html>
    <ヘッド>
        <メタ文字セット="UTF-8">
        <title>html2canvas_download</title>
        <スタイル>
            {
                カーソル: ポインタ;
                色: rgb(85, 26, 139);
                テキスト装飾: 下線;
            }
        </スタイル>
    </head>
    <本文>
        <div id="oDiv" style="幅: 300px; 高さ: 300px; 余白: 10px; 背景: 赤; 境界線: 5px 灰色;">
            <h1>こんにちは世界!</h1>
        </div>
        <!-- <script type="text/javascript" src="../dist/html2canvas.js"></script> -->
        <script src="https://cdn.bootcss.com/html2canvas/0.5.0-beta4/html2canvas.min.js"></script>
        <script type="text/javascript">
            var oDiv = document.getElementById('oDiv');
            //body スクリーンショット//html2canvas(document.body).then(function(canvas) {
            // document.body.appendChild(キャンバス);
            // });
            html2canvas(oDiv).then(function(canvas) {
                document.body.appendChild(キャンバス);
                var oCavans = document.getElementsByTagName('canvas')[0];
                var strDataURI = oCavans.toDataURL();
                ダウンロードFn(strDataURI);
            });
            //ブラウザの種類を判定する function myBrowser() {
                var userAgent = navigator.userAgent; //ブラウザの userAgent 文字列を取得します。 var isOpera = userAgent.indexOf("Opera") > -1;
                if(isOpera) {
                    「オペラ」を返す
                }; //Operaブラウザかどうかを判断します if(userAgent.indexOf("Firefox") > -1) {
                    「FF」を返します。
                } //Firefoxブラウザかどうかを判断します if(userAgent.indexOf("Chrome") > -1) {
                    「Chrome」を返します。
                }
                (userAgent.indexOf("Safari") > -1) の場合 {
                    「Safari」を返します。
                } // Safari ブラウザかどうかを判定します if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
                    「IE」を返します。
                }; //IEブラウザかどうかを判断します if(userAgent.indexOf("Trident") > -1) {
                    「Edge」を返します。
                } //Edge ブラウザかどうかを判定します}
            //IEブラウザは画像をローカルに保存します function SaveAs5(imgURL) {
                var oPop = window.open(imgURL, "", "幅=1、高さ=1、上=5000、左=5000");
                for(; oPop.document.readyState != "complete";) {
                    if(oPop.document.readyState == "complete") break;
                }
                oPop.document.execCommand("名前を付けて保存");
                oPop.close();
            }
            // chrome14+、firefox20+、pera15+、Edge 13+、Safari は関数 download(strDataURI) を実装していません {
                var link = document.createElement('a');
                link.innerHTML = 'download_canvas_image';
                link.download = 'mypainting.png';
                link.addEventListener('click', 関数(ev) {
                    リンクの href = strDataURI;
                }、 間違い);
                document.body.appendChild(リンク);
            };
            関数downLoadFn(url) {
                if(myBrowser() === "IE" || myBrowser() === "Edge") {
                    SaveAs5(url);
                } それ以外 {
                    ダウンロード(url);
                }
            }
        </スクリプト>
    </本文>
</html>

要約する

上記は、HTML スクリーンショットを使用してローカル画像として保存するために紹介した実装コードです。お役に立てれば幸いです。ご質問がある場合は、メッセージを残してください。すぐに返信いたします。また、123WORDPRESS.COM ウェブサイトをサポートしてくださっている皆様にも感謝申し上げます。

<<:  uniapp vue および nvue カルーセル コンポーネントのサンプル コード

>>:  CSSマウスを画像の上に置いたときにマスクレイヤー効果を追加する実装

推薦する

MySQL インデックス カバレッジの例の分析

この記事では、MySQL インデックス カバレッジについて例を挙げて説明します。ご参考までに、詳細は...

アニメーションとトランジションの違い

CSS3アニメーションとJSアニメーションの違いJSはフレームアニメーションを実装しますCSS3はト...

インデックスを使用して数千万のデータを持つ MySQL のクエリ速度を最適化する

1. インデックスの役割一般的に言えば、インデックスは本の目次に相当します。条件に基づいてクエリを実...

JavaScript イベント ループのケース スタディ

js のイベント ループJavaScript はシングルスレッドなので、同じイベントで実行できるメソ...

ウェブページ制作でウェブフォントファイルにベクターアイコンを追加する方法

ご存知のとおり、コンピューターには 2 種類の画像があり、1 つはビットマップ、もう 1 つはベクタ...

ズームインとズームアウトの閉じるボタンを実現する CSS (サンプル コード)

この効果はブラウザ ページで最もよく見られます。まずは効果の画像をご覧ください。 上の図に示すように...

MySql のスロークエリ分析とスロークエリログの開き方の詳細説明

最近はMySQLのパフォーマンス最適化についても研究しているので、今日の投稿は勉強ノートとしても使え...

js を使用して QR コードを生成するサンプル コード

以前、プロジェクトでQRコードをスキャンして情報を表示する機能を開発する必要がありました。インターネ...

Vue 親コンポーネントが子コンポーネント関数の実装を呼び出す

Vue親コンポーネントは子コンポーネントの関数を呼び出す親コンポーネントはイベントを通じて子コンポー...

JavaScript 関数構文の説明

目次1. 通常の機能2. 矢印関数3. データパケットJSON 4. オブジェクト5. 約束6. 非...

MySQL マスタースレーブレプリケーションの遅延の原因と解決策

目次レプリケーション ロジックの簡単な概要:遅延の原因と解決策〇メインデータベースへの頻繁なDMLリ...

Linux ダイナミックライブラリの生成と使用ガイドの詳細な説明

Linux での動的ライブラリ ファイルのファイル名は libxxx.so のようになります。ここで...

ZooKeeper をベースにした Hadoop 高可用性クラスタの構築のチュートリアル図

目次1. 高可用性の概要1.1 可用性の高い全体アーキテクチャ1.2 QJMに基づく共有ストレージシ...

JavaScript エラー処理 try..catch...finally + は throw+TypeError+RangeError をカバーします

目次1. 目的2. 文法3. 練習する1. 目的通常、エラーが発生すると、スクリプトは直ちに停止し、...

便利で使いやすいウェブアプリケーションを設計するための 10 のヒント

より使いやすい Web アプリケーションを設計するための 10 のヒントをご紹介します。ヒント1: ...