Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Reloading causes unexpected move to the previous page #651

Closed
MurakamiShinyu opened this issue Sep 18, 2020 · 1 comment
Closed

Reloading causes unexpected move to the previous page #651

MurakamiShinyu opened this issue Sep 18, 2020 · 1 comment
Assignees
Labels

Comments

@MurakamiShinyu
Copy link
Member

Vivliostyle Viewerで文書の途中のページを開いていてリロードするとひとつ前のページに移動してしまうことがある不具合があります。

また、Vivliostyle Viewerで現在表示中のページのURLをコピーして、そのURLを別にブラウザで開いた場合でも同様です。

判明した不具合の原因:
この不具合が起きるとき、現在表示中のページの位置を表す EPUBCFI(URLパラメータの f=epubcfi(…))がHTMLソース内の前のページにおさまる内容の最後の空白テキストノードの位置を指している。

不具合の起きる例

Vivliostyle 開発者とユーザーの集い 2019-08-31 発表資料「Vivliostyle開発のこれまでと、これからへ」

https://vivliostyle.org/viewer/#src=https://vivliostyle.github.io/vivliostyle_doc/ja/events/vivliostyle-devmeet20190831/&bookMode=true&spread=false

この p.6 「以前の Vivliostyle.js ソースコードについて」を表示

このときブラウザのアドレスバーのURLは
https://vivliostyle.org/viewer/#src=https://vivliostyle.github.io/vivliostyle_doc/ja/events/vivliostyle-devmeet20190831/&bookMode=true&spread=false&f=epubcfi(/2!/4/8[koremade]/3:0)
になっている。

この状態でリロードすると、ひとつ前のページ p.5「Vivliostyle のこれまで」に移動する。また、上記URLを別に開いても同様。

この epubcfi(/2!/4/8[koremade]/3:0) というEPUBCFIは、次のHTMLソースの <h2>Vivliostyle のこれまで</h2><section id="old-vivliostyle-code"> との間にある空白のテキストノードを指している。

https://github.com/vivliostyle/vivliostyle_doc/blob/gh-pages/ja/events/vivliostyle-devmeet20190831/index.html#L66-L69

  <section id="koremade">
    <h2>Vivliostyle のこれまで</h2>
    <section id="old-vivliostyle-code">
      <h3>以前の Vivliostyle.js ソースコードについて</h3>

EPUBCFIの生成に問題がある。空白テキストノードではなくて次の <section id="old-vivliostyle-code"> を指すように修正すること。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

1 participant