- ベストアンサー
iframeで読み込んだページへのページ内リンク
- iframeを使ったページで、読み込んだページへのページ内リンクを親ページから飛ばす方法について解説します。
- Internet Explorerではリンクが正常に機能しますが、Firefoxや他のブラウザではうまく動作しない場合があります。
- 親ページと読み込みページのURLを参照することで、iframeで読み込まれたページへのリンクを実現する方法があります。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
今の状態では、Firefoxの動きが正解で、 他がおかしいんだけれど。 iframeの高さが1800pxで 中のincludeの長さが1800pxだから、 余裕が無いので上がって来られない。 これだと、スクロールすればいいだけで iframeにする意味が無いんじゃない。 iframeの高さを小さくするか、 includeの長さを倍位にすれば動作する。 IEでクリックすると、 1,2,3まではwindowのtopへ来るけれども、 4は途中までしか上がらないので分かるはず。 iframe等のアンカーにジャンプすると、 アンカーがiframeごとwindowのtopへ来るのは ブラウザの仕様ということらしい。 其の位置のままでiframeのtopに アンカーが来るようにするには、 iframe内をスクロールさせれば良い。
その他の回答 (3)
- OrangeCup150
- ベストアンサー率62% (109/174)
>InterExprolerでしかリンクが効きません。 IE9 を使っていますが、リンクは無効です。リンクが使えたというのは古いIEのバグと思います。 がんばるな日本!さんのように、フレームに名前をつけて、リンク側はターゲット指定すればいいと思います。
- 4017B
- ベストアンサー率73% (1336/1814)
え~っと、とりあえずですね… ━ ココから ━━━━━━━━━━━━━━━━━━━━━━━━ <h1>親ページ</h1> <ul> <li><a href="./include.html#test1" target="main">ページ内リンク1</a></li> <li><a href="./include.html#test2" target="main">ページ内リンク2</a></li> <li><a href="./include.html#test3" target="main">ページ内リンク3</a></li> <li><a href="./include.html#test4" target="main">ページ内リンク4</a></li> </ul> <div> <iframe frameborder="0" src="./include.html" width="550" height="300" name="main"></iframe> </div> ━ ココまで ━━━━━━━━━━━━━━━━━━━━━━━━ ~上記の様な感じに親ページのHTMLを書き直せば、何となくそんな感じに動作するかな? もっとより滑らかな動作を期待するんだったら、HTMLだけだとちょっと無理かも…。JavaScriptで何とかするしかないと思うけど、具体的にどんなページを作りたいのかは自分には分らないので。ここから先は自己責任というか、自力でお願いします!
お礼
ありがとうございました、こちらの方法もあわせて必要でした。 読み込みページの高さも調整すればできるようになりました。
補足
ご回答ありがとうございます、上記の方法で試してみたのですがやはりFirefoxでは効きませんでした。
- ORUKA1951
- ベストアンサー率45% (5062/11036)
IEで飛ぶのはおかしい・・ あくまで、ファイル名から書かないとだめ
お礼
ありがとうございました、試してみたらできました。 こんな方法があったんですね!すごいです!