TIESのブログ

readium-js-viewerで開いたページを記憶させている方法

on 2016年2月5日

readium-js-viewerでePubを読み込んだ後、ブラウザを閉じたりして、ePubを開きなおしても見ていたページが表示されるのはどうやっているのか確認したところ、LocalStorageという領域に表示しているページ情報を保存しておいて、それを読み込んでいるようでした。

20160205_1

keyにはePubコンテンツの場所、Valueには表示しているxhtmlファイルのidrefの値をもたせているようです。
上記画像のページだと、
key : ../in1/cb00101
Value : “{\”idref\”:\”vol-1-text-vol-001-011.xhtml\”,\”contentCFI\”:\”/4/2@0:0\”}”
となっていました。

“/4/2@0:0\”の部分は、表示しているページで情報がころころ変化していました。
例えば、同じxhtmlファイル内でも、次のページに移動すると情報が変わります。ページ位置とかも都度更新しているのでしょうか。

20160205_2

なので、現状、例えば指定のページを見させたい場合、ここの情報を変更してやれば開くページが変わりました。
ページ表示処理中に介入する方法と、処理前にLocalStorageを変更させておく方法の場合、どちらがスマートなんですかね。
(それ以前にページ指定する方法が実はあって知らないだけだっら、、、)