Let the box be light

画像をクリックするとデフォルトで lightbox 的な振る舞いをするのだが、これにはいくつか積み残しになっている点があった。

まず、画像を原寸表示させた際。このモードではマウスのドラッグにより画像のスクロールが可能なのだが、ドラッグしたままポインタをブラウザ外に持っていき、そこでボタンを離したりすると状態管理の不整合が起きてドラッグしてないのに画像がポインタについて来るみたいなことになってしまう。

これはつまりポインタのキャプチャをしていないからなのだが、何故していないのかと言うと、正確には覚えていないけど多分 Presto Opera にその機能がなかったんだと思う。これを直したい。

次に、全体表示から原寸表示モードに移行した際に拡大の原点がつねに画像の中心なのが不便。たとえば漫画なんかを1枚絵にした画像の場合に、原寸表示にしたあと上端へスクロールさせなければならないのが煩わしい。これを解決したい。

最後に、スマホで撮った写真など、本来90度回転して表示されるべきものが、そうなっていない場合がある。これに対応するため、画像の回転機能が欲しい。

というわけで、上記を解決するために書き直した。

回転にも transition をかけたのでやたらスムーズにくるくる回るのが面白い。

2番めの問題を解決するために、従来は画像をクリックすると lightbox を抜ける動作をしていたのだが、新しいバージョンではクリックしたポイントを原点に拡大縮小するようになった。lightbox を抜けるには画像以外の部分をクリックする必要がある。これはちょっと優しくない仕様変更かもしれない。

それと、画像のドラッグ時にいわゆる bounce-back 機能をつけたのだけど。これをつけると Apple に訴えられるんでしたっけ? ヤバイのかな。

* * *

とかなんとかやってたらまたふたばが全滅してるし…。

3 thoughts on “Let the box be light

  1. Vivaldi 2.1.1337.36 なのですが,時々開いた画像を閉じようとしても反応してくれなくなることがあります.
    その状態になると,どこかをクリックするとブラウザが CPU のコアを 1 つ使い切ってしまいます.
    クリックした回数だけなにかしているっぽくて,クリックを連打しているとしばらく使い切った状態が続きます.

    条件は特定できないのですが,試してみた感じだと多順の上位のスレだと発生するようです.
    なんとなくなんですが,スレを見ていると次第に画像を開いたり閉じたりする反応が鈍くなっていくような気もします.

    あと,開いた画像のサイズがちょうどウインドウのサイズと同じぐらいだと画像を閉じるのが少々面倒なことになってしまいました.
    # 画像部分をクリックすると「全体」「実寸」が切り替わるだけで閉じないので.

    lightbox で表示するのをやめればいいのかな,と思ったのですが,「画像を lightbox で表示」の設定が保存されてないようです.

    • ありがとうございます。
      設定が保存できないバグを修正しました。また、lightbox 表示時に「閉じる」リンクを追加しました。
      しかしCPUパワーを使い切る現象は再現できていません。もともとlightboxの中にそういったループ的な処理がありません。
      再現性がないとするとVivaldi自身の問題かもしれません。
      例えばハードウェアアクセラレーションを切るとどうなるでしょうか。

  2. Pingback: 赤心慶福 — Let the box be light #2

Leave a Reply

Your email address will not be published. Required fields are marked *