口で説明するのは面倒くさいので以下に例を作りました。
-t1.html-
<html>
<a href="t2.html#b" target="ifmain">t2-b</a><br>
<a href="t2.html#c" target="ifmain">t2-c</a><br>
<a href="t3.html#b" target="ifmain">t3-b</a><br>
<a href="t3.html#c" target="ifmain">t3-c</a><br>
<iframe name="ifmain" src="t2.html" height="400" width="300"></iframe>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>10<br>
</html>
-t2.html、t3.html-
<html>
<table>
<tr><td height="300"><a name="a">a</a></td></tr>
<tr><td height="300"><a name="b">b</a></td></tr>
<tr><td height="300"><a name="c">c</a></td></tr>
</table>
</html>
t1.htmlを実行して頂ければわかるのですが、
t1からIFrame内部にアンカーで移動させる場合、
IFrame内部のスクロールが、なぜか呼び出し元
(windowオブジェクトで言えば、topとかparentの方)が
なぜか移動してしまいます。
呼び出し元のリンクに
onclick="ifmain.location.href=this.href;top.scrollTo(0,0);return false;"
というようなものを組み込んでもうまく動作しません。
(IE、FireFox両方共に)
なんとか回避する術はないでしょうか?
IFrame内部だけ移動すれば十分ですので。
No.1ベストアンサー
- 回答日時:
もっとシンプルな方法があるのかもしれませんが、javascriptで強引に。
一瞬画面が移動するのがいやな感じです。<html>
<div style="height:300px"></div>
<a href="javascript:void(0);" onclick="var t=document.getElementsByTagName('body')[0].scrollTop;document.getElementById('orz').src='t2.html#b';document.getElementsByTagName('body')[0].scrollTop=t;">t2-b</a><br>
<iframe id="orz" name="ifmain" src="t2.html" height="400" width="300"></iframe>
<div style="height:1200px"></div>
</html>
ありがとうございます。
ページ内スクロールを実行することで避けることができました。
どうもセキュリティ対策でどのブラウザでも同じ仕様(フレーム内部ではなく全体が動く)のようですね。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- HTML・CSS HTMLソースの質問 3 2022/07/28 13:29
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- PHP PHPで画像の渡しが上手く行きません。 1 2023/02/02 09:39
- Visual Basic(VBA) VBAにてメール作成した際、一部指定箇所のみ赤文字にしたいです。 下記の内容ですと作成されたメール本 1 2022/04/27 13:31
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
改行できる・できない入力ボッ...
-
「:」について
-
文字の最後に半角空白が勝手に...
-
長いURLを途中で改行(折り返す...
-
IFrame内部で名前付きリンク(...
-
\\n \\r \\t について
-
テキストエリア内の改行禁止
-
H1タグに改行の<br>を使う
-
HPに文章で改行はすべてBRタグ...
-
<br />タグの、brの後の半角ス...
-
テーブル内の文字列を改行させたい
-
preタグがプロの現場であまり使...
-
カーソルを合わせると説明を表...
-
ddの行の折り返しをしたいです...
-
シェルで特定の文字が消える
-
<TD><input type="text"></TD>...
-
mailtoで本文に改行を入れたい
-
テーブルの幅を固定するとnowra...
-
半角ハイフンを半角スペースで...
-
<br style="clear:both;">って...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
\\n \\r \\t について
-
改行できる・できない入力ボッ...
-
長いURLを途中で改行(折り返す...
-
テキストエリア内の改行もその...
-
テキストエリア内の改行禁止
-
テーブルの幅を固定するとnowra...
-
H1タグに改行の<br>を使う
-
Hタグを改行禁止にしてspanのよ...
-
「:」について
-
<br />タグの、brの後の半角ス...
-
preタグがプロの現場であまり使...
-
htmlで文字列をクリップボード...
-
XMLの改行方法とリンクの仕方
-
文字の最後に半角空白が勝手に...
-
テーブル内の文字列を改行させたい
-
VBE でスペースと改行を見える...
-
テーブルのセルデータを自動改...
-
テキストエリアの幅を10桁まで...
-
Dream Weaverの改行時にTabキー...
-
カーソルを合わせると説明を表...
おすすめ情報