17

純粋な HTML5、CSS、および Jquery を使用して Web ブラウザで epub 形式の本を表示することは可能ですか? 誰かがこれを行う方法を提案してもらえますか? iPadで動作させるには、これをレスポンシブにする必要もあります。それはわかっていますが、HTML と Javascript を使用して epub を読む方法がわかりません。

epub にはいくつかの数学関数が含まれている可能性があり、それらも適切に表示する必要があります。

4

2 に答える 2

23

純粋な HTML5、CSS、および jQuery を使用して Web ブラウザーで epub 形式の本を表示することは可能ですか?

はい、可能です。

なぜ epub リーダーを書きたいのですか? そこにはすでにたくさんあります。

いずれにせよ、あなたの質問は一般的な質問の特定の形式です。epub 用の電子ブック リーダーを作成することは可能ですか? 明らかに、そうです、書かれている可能性があります。ある言語またはあるプラットフォーム向けに記述できる場合は、別の言語または別のプラットフォーム向けに記述できます。

しかし実際には、epub は缶の中にある小さなウェブサイトであるため、リーダーを作成する必要さえありません。サーバー上のどこかに epub ファイルを解凍し、ブラウザーをページの 1 つに移動します。出来上がり、あなたは読んでいます。目次が欲しいですか?toc.xhtml または同等のファイルに移動すると、そこに移動します。

あるページから次のページに移動するのはどうですか? ページが表示される順序を知る必要があります。通常 content.opf と呼ばれるファイルを解析する小さなサーバー コンポーネントを作成し、manifest 要素内のファイルの順序に基づいて、いくつかの HTML を出力します。進むボタンと戻るボタン、およびコンテンツを表示するための iframe。その間、タイトルやその他の興味深いメタデータを解析します。これは基本的に epubjs が行うことです。

しかし、あなたの質問から、クライアント/ブラウザ側でこれを完全にやりたいと直感しました。まあ、それもすでに Readium の形で行われているので、ぜひご覧ください。お気に入りの JS 解凍ライブラリ (警告、遅くなる可能性があります) を使用して epub ファイルを解凍し、JS を少し記述してメタデータを解析し、ページをスローします。

しかし、人々が電子ブック リーダーに期待するようになった、ページ付けされた出力が必要な場合はどうでしょうか? これは、物事が複雑になり始める場所であり、おそらく一歩下がって、なぜこれを行っているのかをもう一度自問するのに適した場所です. とにかく、本当にページ分割された表示が必要だと判断した場合は、ここで役立つように、ウィンドウ処理、フレーミング、クリッピング、オフセット、および/または「領域」の使用を含むロジックの組み合わせを理解する必要があります。一部の電子ブック リーダーは、ここでパントして、とにかく、スクロール/ページ付けされていない出力の何が問題なのかと言いました。

しかし、電子ブック リーダーは他にも多くのことを行います。たとえば、ほとんどの場合、行間、余白、またはフォント サイズを変更できます。これらのユーザー設定は、本の CSS ファイルのスタイルとどのように相互作用しますか? 一部の読者は、CSS を解析するアプローチを取り (そのためのライブラリもあります)、それを書き直して、あなたやあなたのユーザーが望む結果を得ます。

ブラウザー アプリではなくアプリを使用しますか? シバン全体を PhoneGap でラップします。

有能な読者になるには、他にもたくさんのことを心配しなければなりません。これには、一部の本で指定されている「ガイド」または「ランドマーク」の表示、セッションごとの読書場所とユーザー オプションの記憶、そしておそらくある種の本棚機能の提供が含まれます。

一部のクライアント側の電子ブック リーダーは jQuery を使用しますが、epub は HTML5/CSS2.5/JS であるため、コンテンツ自体は最新のブラウザーでのみ確実に表示できることに注意してください。しかし、最新のブラウザーを使用している場合は、クロスブラウザーの互換性のために設計された jQuery で髪の毛の 90% を使用する必要はありません。バックボーンやアンダースコアなど、より軽量なコンポーネントを使用した方がよいでしょう。querySelector があるため、おそらくセレクター ライブラリは必要ありません。

幸運を!

于 2013-01-28T13:56:38.497 に答える
4

科学論文 (雑誌記事) の場合、ブラウザで EPUB リーダーをシミュレートする「最適なソリューション」があります。XML ( JATS ) または XHTML (EPUB から) コンテンツを使用できます。PubReaderは、HTML5 および CSS3 で利用可能な機能を使用します

CSS と Javascript を使用して、書式設定、ページング、ナビゲーション、およびテキストのリフローを実装します。記事全体が単一の HTML ページとしてブラウザーに読み込まれ、ページングなどをローカルで処理します。見る:

PS: PubReader は、@torazaburo の提案であるEPUB-Readium ブラウザー インターフェイスに似ています。

于 2013-07-13T12:18:13.670 に答える