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カーソルの詳細な紹介

目次1. カーソルとは何ですか? 2. カーソルの使い方1. カーソルを宣言する2.カーソルを開く3...

PHP環境構築におけるDockerの柔軟な実装

Docker を使用して、柔軟なオンライン PHP 環境を構築します。場合によっては、他の人がすでに...

MySQL データベースの大文字と小文字の区別の問題

MySQL では、データベースはデータ ディレクトリ内のディレクトリに対応します。データベース内の各...

jQuery をベースにリスト ループ スクロールを実装するためのヒント (超簡単)

良いアイデアを見つけたので記録しました。私は以前、スクロール効果を実現するためにjQueryを使用し...

Win10にCentOS7仮想マシンをインストールする

1. VMware Workstation 64バージョンをダウンロードするhttps://www....

jsは水平および垂直スライダーを実現します

最近、練習プロジェクトをしていたときにスライダーを使う必要があったので、調べてみました。まず、水平ス...

JavaScript の基礎におけるデータ型の詳細な説明

目次1. データ型1.1 なぜデータ型が必要なのか? 1.2 変数のデータ型1.3 データ型の分類2...

HTMLでのラジオ値の取得、割り当て、登録の詳細な説明

1. ラジオのグループ化名前が同じであれば、それらはグループであり、つまり、次のようにグループ内で選...

MySQL クエリの重複データ (重複データを削除し、ID が最も小さいデータのみを保持します)

開発の背景:最近、私はバッチ データを MySQL データベースにインポートする機能に取り組んでいま...

Docker の MySQL 時間とシステム時間の不一致の問題を解決する

最近、Docker に MySQL をインストールしたところ、データベースの時刻がシステム時刻と 8...

Vue.jsのレンダリング関数の使い方の詳しい説明

Vue では、ほとんどの場合、テンプレートを使用して HTML を作成することを推奨しています。ただ...

MYSQL パフォーマンス アナライザー EXPLAIN 使用例分析

この記事では、例を使用して MYSQL パフォーマンス アナライザー EXPLAIN の使用方法を説...

nginx で仮想ホストを構成するための詳細な手順

仮想ホストは、インターネット上で実行されているサーバー ホストを複数の「仮想」ホストに分割する特殊な...

MySql 8.0.11 のインストールと設定のチュートリアル

公式ウェブサイトアドレス: https://dev.mysql.com/downloads/mysq...

MySQLのイベントスケジューラEVENTを理解する

MySQL のイベント スケジューラ EVENT は、Unix crontab や Windows ...