Shadowbox(3.0.3を使用)インラインコンテンツ(href=”#○○○”)表示で
指定したid部分ではなく、HTML全体が表示されてしまう。
【症状】
■アドレスに#○○が付いているとHTML全体が表示されてしまう。
■#○○○○の○○○○がidの頭から使われているときは現象は起きない(原因究明に役に立ちそう)
(例:http://xxxxxx.com#contentのとき<a href=”content1″ rel=”shadowbox”>だと正常に動作)
【原因】
■shadowboxバグ?仕様?
【解決】未解決
■別ファイルでHTMLをつくり、iframeで読み込ませる
しかなさそうだが、
これでは解決にならないので動作するようにしたいが
shadowbox3.0.3.jsがプチプンプレッサ状態なので、コードチェックも出来ず。。
誰か生コードある人がいれば調べたいのでデータを!!
shadowbox.js内の下記を修正
if(content.indexOf(“#”)>-1&&content.indexOf(document.location.href)==0){return”inline”}
↓
if(content.indexOf(“#”)>-1&&content.indexOf(document.location.href.replace(/#.*$/,””))==0){return”inline”}
【原因】
shadowbox設定したaタグのhrefが、ページ内リンクの場合、”inline”設定になる
コードのようだったが
「ページ内」or「ページ外」をハッシュ込みのURLで判断しており
違うページだと認識し、ページ全体をiframeで表示させていた。
判断するURLをハッシュを削除したURLに変更した
document.location.href → document.location.href.replace(/#.*$/,””)
RELATED
-
2023年12月13日
-
2023年8月24日
-
2023年8月1日
-
2021年8月25日
コメントを残す