重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【終了しました】教えて!gooアプリ版

scrollsmoothly.jsを使用させもらっています。

iframe内にtarget="_top"でリンクを設置。
※リンク先はiframeを表示しているページ内へのアンカーリンクです。

iframeでscrollsmoothly.jsを読み込んでもスムーズスクロールされません。
iframeが表示されているページに読み込んでも同じです。
target="_top"を外せばフレーム内でスクロールするのですが、
フレーム内でリンクさせたいわけではないので、どうしてもこれを外せません。

iframe内からのアンカーリンクでスムーズスクロールするにはどのようにすればよいでしょうか。

よろしくお願いします。

A 回答 (1件)

scrollsmoothlyを知りませんので、想像での回答ですが、




iframe内のドキュメントとその親のドキュメントは基本的に別物です。
ほとんどのライブラリは別ドキュメントを跨ぐようなことを想定して作られてはいないと想像します。
(scrollsmoothlyがそうなのかどうかは知りません)

それなので、ご質問のような動作にしたければ、そのようにスクリプトを修正するしかないと思われます。
修正する場合は、スクリプトのライセンスを確認の上、修正可かどうかも確かめてください。
あるいは、作者にお願いしてそのような対応のもの作っていただくとか。

scrollsmoothly側でAPIのようなものが公開されていれば、親ドキュメントにスクリプトを読み込んでおいて、フレーム内から引数を渡す部分だけを追加で作成すれば対応でそうな気がしますが…
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!