このブログはBloggerを使っている。Bloggerの標準機能により、記事画像をクリックすると画像単体の表示枠(モーダルウィンドウ、ライトボックス)が立ち上がってフルサイズ画像が表示される。
しかし最近なぜかこの機能が動かなくなり、ただのフルサイズ画像への直リンクとしてしか機能しなくなってしまった。
雑に解決する方法を探してきたので、とりあえず備忘録を起こす。
「牧草地風のライトボックス」by ChatGPT |
問題状況のスクショ
以下のような記事画像をクリックする。
問題発生時の表示は以下のようになる。これは、ただ画像ファイルをブラウザタブで表示しているだけの状態だ。
不具合について補足
- シークレットモードや別ブラウザなども試してみた結果、どの環境からでもエラーになることがわかった。
- 突然動かなくなったことの根本原因はわからないが、どうもJSの読み込みエラーみたいなことが起きているようだ。
- エラーが起きる条件も微妙で、すべての記事で不具合が発生するわけではなく、一部少数の記事では期待どおりに動作したりもしていた。
- JSの遅延ロードまわりでなにかありそうだが、フロント利用者の立場でデバッグするのは辛いだけなので、そういった解析は扱わないことにする。
とりあえず動くように直す方法
Blogger管理画面 → テーマ → カスタマイズ▼ → HTMLを編集
テンプレートの末尾にある </body> 手前に以下を挿入する。
<!-- Blogger標準のライトボックス --> <script src='https://www.blogger.com/static/v1/widgets/1053349651-widgets.js'/> <script type='text/javascript'> window.onload = function() { if (typeof registerImageLightbox === 'function') { registerImageLightbox(); } }; </script>
保存して記事ページをリロードしてみる。不具合が解消していればOK。
コメント