勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」の利用方法

電子書籍や漫画ビューア用を設置したい。条件としてはレスポンシブ対応していること。探してみるといくつかライブラリが見つかったが、スマホで閲覧した際に「ToraViewer」というライブラリが良さげ。以下にサンプルとソースコードをメモ。

 

ToraViewer

GitHub

https://github.com/toranoana/tora-viewer

CDN

CDNで使う場合は以下を記述する。

<script src="https://cdn.jsdelivr.net/npm/@toralab/tora-viewer"></script>

 

サンプル

https://taitan916.info/sample/ToraViewer/

 

ソースコード

<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>JavaScriptにて電子書籍や漫画ビューア用のライブラリ「ToraViewer」のサンプル</title>
</head>
<body>

    <a href="javascript:void(0);" id="viewer">ビューア起動</a>

    <script type="text/javascript" src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
    <script src="https://cdn.jsdelivr.net/npm/@toralab/tora-viewer"></script>
    <script>
    $(`#viewer`).on('click', function(){
        const viewer = toraViewer(
            [
                './img/001.jpg',
                './img/002.jpg',
                './img/003.jpg',
                './img/004.jpg',
                './img/005.jpg',
            ],
            {
                //タイトル
                title: 'サンプルタイトル',
                //1ページのサイズ
                pageSize: {
                    width: 600,
                    height: 800,
                },
            }
        );
    });
    </script>
</body>
</html>

 

気になる点

以下の点が気になった。

  • PCで閲覧時にページ数が奇数の場合、最終ページの表示が変
  • 最終ページの閉じるボタンのデザイン

MITライセンスなのでちょっと弄ってから実装する形になりそう。

 

所感

laymic」というライブラリも少々気になった。

あと漫画ビューアだけではなくWebカタログ(できればPDFファイルを閲覧できるビューア)にも使えそうなライブラリを探したいところ。

 - JavaScript

  関連記事

JSやjQueryで動的に追加した要素に対して「slick」でスライダーを実行する方法
JSやjQueryで動的に追加した要素に対して「slick」でスライダーを実行する方法

外部サーバからAjax等で画像URLを取得したものをimgタグとしてページ内に描 ...

JavaScriptにてカラーコードのピッカーを実装できる「jscolor」の利用方法
JavaScriptにてカラーコードのピッカーを実装できる「jscolor」の利用方法

フォームのテキストボックスにカラーコードのピッカーを実装したかった。HTMLのみ ...

PHPで「ramsey/uuid」ライブラリを用いてUUIDを生成する方法
PHPで「ramsey/uuid」ライブラリを用いてUUIDを生成する方法

PHPでUUID(Universally Unique Identifier)を ...

バニラJS対応(jQuery非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法
バニラJS対応(jQuery非依存)の画像遅延読み込みライブラリ「lazysizes」の利用方法

あるサイトのコーディングデータを貰った際に「lazysizes」というJavaS ...

smart_resize_imageで縦横の比率関係なく、固定リサイズ
smart_resize_imageで縦横の比率関係なく、固定リサイズ

PHPで縦横どちらかが指定の長さを超えた場合、比率を保ったままリサイズで使ったs ...