
実際に作ったページとは異なりますが、原因を探るために用意した下記のソースでも再現しました。
iframeのsrcにページ内リンク(#~)があると、私が持っているスマホで見た時にページの先頭(下記のソースでは200pxの空白しかありません)から表示せずにiframe の所(下記のソースでは「<h4>予定表</h4>」)まで勝手にスクロールされてしまいました。ページ内リンク(#~)が無ければ先頭から表示されます。
私が持っているスマホは次の通りです。
OS: Android 5.0.2; SH-01G Build/S9280
Chrome: 90.0.4430.66
スマホでの表示を確認するためにしか利用してませんので、買い換える予定はありません。
確認したいのは、私のスマホのOSが古すぎることが原因なのか、ソースをアップロードしてあるサーバーが原因なのか、Chromeに原因があるのか、他のスマホ用ブラウザでも生じる現象で仕様なのか、それとも、私が作ったソースに問題があるのか、そして、仕様だったりソースに問題がある場合の対処方法(誰が見てもページの先頭から表示されるようにする方法)です。
私以外の方が見た場合には、ちゃんと先頭から表示されますでしょうか?
テスト用ページも用意してあります。
http://hitorinezumi.html.xdomain.jp/template/tim …
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<title>予定表</title>
<style>
<!--
iframe{border: 0px none transparent; width:100%; height:100%; padding:0px; margin:0px;}
#block_banner{height:200px;}
#container{width:355px;height:405px;}
-->
</style>
</head>
<body>
<div id="block_banner">
</div><!--バナー-->
<div id="container">
<h4>予定表</h4>
<iframe src="Schedule.html#Tuesday" id="Schedule" title="予定表"></iframe>
</div>
</body>
</html>
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
いしい さん
>・・・・ちゃんと先頭から表示されますでしょうか?・・・・・・・・
いいえ、火曜日から表示されます。
先頭から表示したいのなら、
【誤】
<iframe src="Schedule.html#Tuesday" id="Schedule" title="予定表"></iframe>
を↓
【正】
<iframe src="Schedule.html" id="Schedule" title="予定表"></iframe>
とします。
私だけじゃなかったのですね。
教えていただき、ありがとうございます。
srcの中からページ内リンクを外したくないのです。
実際のソースではJavascriptでページ内リンクを付加しているのですが…。
そもそも、どうしてiframeにページ内リンクを付加するとページの先頭から表示してくれないのか理解できないでいます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
"mailtoでメールの【氏名】【性...
-
フォントの色指定を一部解除したい
-
横スクロールを右から左へ・・・
-
htmlで任意の行の文字位置を右...
-
bodyにidをつける理由は何ですか?
-
外部ページからハッシュタグ(...
-
<a href="#" …>の意味を教えて...
-
javascriptファイルは1つに統...
-
JavaScriptでiframeの内容を「...
-
スマホ上で、左右スワイプで次...
-
インラインフレームをドラッグ...
-
更新日時を偽装したい。方法は...
-
サーバー上でJqueryが使用できない
-
ポップアップウィンドウの位置
-
同意を求めて、次のページに進...
-
JavaScript でキーを送る
-
インラインフレームで表示され...
-
複数のJavascriptを1つのscrip...
-
プルダウンと入力を両方行う検...
-
[html] リンク先のページのラジ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
bodyにidをつける理由は何ですか?
-
(Javascript)印刷するファイル...
-
別ページのページ内リンクでの...
-
WEB上で編集できない、スク...
-
GoogleMapのIEでのバグ
-
HTMLで文字の影
-
テキストボックス内にハイパー...
-
onclickで別の場所にテキストを...
-
横スクロールを右から左へ・・・
-
ハイパーリンクに下線を表示す...
-
背景設定で
-
スクロールバーのスクロール量...
-
NOFRAMEタグについて
-
何がいけないのでしょうか・・・?
-
ページ自動ジャンプをリセット...
-
リンク領域の拡大
-
テーブルのスクロール
-
<iframe>で読み込むページの高...
-
外部ページからハッシュタグ(...
-
htmlにcgiを組み込んで、HPを作...
おすすめ情報
もしかしたら分かりにくかったかもしれませんので追記です。
上のソースのページをtest.htmlとします。
test.htmlのiframe 内に表示しているページはSchedule.htmlです。
先頭から表示したいのは、test.htmlの方です。
Schedule.html#TuesdayでSchedule.htmlが先頭でなくfragmentの「Tuesday」から表示されるのは当然です。
改めて書きますが、私が先頭から表示したいのはiframeの中のSchedule.htmlではなく、
iframeのあるページ、test.htmlの方です。
補足コメントでtest.htmlと書いたのは、テスト用のリンク先のindex0.htmlのことです。
index0.htmlを先頭から表示させたいのです。
「iframe src="Schedule.html"」としたとしても、Schedule.htmlがJavascriptなどでfragmentまでスクロールしたら、そのiframe を含むページ(下のリンクのindex3.html)も先頭から表示せずにiframe の所から表示することが確認されました。
http://hitorinezumi.html.xdomain.jp/template/tim …
「Schedule.htmlがJavascriptなどでfragmentまでスクロールしたら」のJavascriptはSchedule.html内のものです。
例えば、iframe で表示されている広告の業者が、広告内にfragmentまでのスクロールを入れれば、自社の広告を一番に見てもらうことが可能なのかもしれません。