http://weed-7777.sakura.ne.jp/image-light-box-witcher3/index_files/vlb_images1/c7bhr0jvaaapbll.jpg
コンソールを見ると、以下の箇所でコケています:
Uncaught TypeError: (intermediate value).visualLightbox is not a function
at HTMLDocument.<anonymous> (vlbdata1.js:1)
at c (jquery.js:3)
at Object.fireWith [as resolveWith] (jquery.js:3)
at Function.ready (jquery.js:3)
at HTMLDocument.H (jquery.js:3)
vlbdata1.jsを開けると、以下の「visualLightbox(...」の箇所に赤い波下線が引かれており、jQueryオブジェクトにvisualLightboxがアタッチされていません。
window.Lightbox = new jQuery().visualLightbox(...
ちなみにアタッチするjsは以下のものです:
http://weed-7777.sakura.ne.jp/video-light-box-witcher3/index_videolb/videolightbox.js
どうしたらいいのでしょうか?よろしくお願いします。
Visual LightBox って、↓のやつで良いんでしょうか。
http://www.jqueryscript.net/demo/Awesome-Responsive-LightBox-Plugin-For-jQuery-VisualLightBox/demo/
visuallightbox.js をちらっと見てみましたけど、この書き方だと、これを読みこんだ後に jQuery が読み込まれると、動かないです(jQuery がリセットされちゃう)。
はてなブログでは、ページの末尾ではてなの方が設置した jQuery を読み込んでいる(この回答を書いている時点で、1.12.4)ので、visualLightbox メソッドが見つからない、とエラーになるんだと思います。
別の個所で タグの visuallightbox.js の読み込みを削除して、vlbdata1.js を以下のように書き換えると、動きそうな気がします(見づらいんで、整形してます)。
jQuery(document).ready(function() { var script = document.createElement("script"); script.src = "http://weed-7777.sakura.ne.jp/image-light-box-witcher3/index_files/vlb_engine/visuallightbox.js"; script.addEventListener("load", function() { window.Lightbox = new jQuery().visualLightbox({ autoPlay: true, borderSize: 10, classNames: 'vlightbox1', descSliding: true, enableRightClick: false, enableSlideshow: true, prefix: 'vlb1', resizeSpeed: 7, slideTime: 4, startZoom: true }); }); document.body.appendChild(script); });
パラメータは元のままです。
固定で script タグを書くのではなく、onload イベントで動的に visuallightbox.js を読み込んで、そのスクリプトの onload で window.Lightbox の設定を行えば、処理の順番がキープできるのではないか、と。
# スタイルの調整が必要になるかも、という気がしなくもないです
Lightboxは動作するようです:はてなブログ(無料版)でLightboxとbxSliderを利用する - Flat Leon Works http://flat-leon.hatenablog.com/entry/hatenablog_lightbox_bxslid...