とっておきの手土産を教えて

実際に作ったページとは異なりますが、原因を探るために用意した下記のソースでも再現しました。
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>

質問者からの補足コメント

  • うーん・・・

    もしかしたら分かりにくかったかもしれませんので追記です。
    上のソースのページをtest.htmlとします。
    test.htmlのiframe 内に表示しているページはSchedule.htmlです。
    先頭から表示したいのは、test.htmlの方です。
    Schedule.html#TuesdayでSchedule.htmlが先頭でなくfragmentの「Tuesday」から表示されるのは当然です。
    改めて書きますが、私が先頭から表示したいのはiframeの中のSchedule.htmlではなく、
    iframeのあるページ、test.htmlの方です。

      補足日時:2021/04/24 23:55
  • うーん・・・

    補足コメントでtest.htmlと書いたのは、テスト用のリンク先のindex0.htmlのことです。
    index0.htmlを先頭から表示させたいのです。

      補足日時:2021/04/25 00:01
  • うーん・・・

    「iframe src="Schedule.html"」としたとしても、Schedule.htmlがJavascriptなどでfragmentまでスクロールしたら、そのiframe を含むページ(下のリンクのindex3.html)も先頭から表示せずにiframe の所から表示することが確認されました。
    http://hitorinezumi.html.xdomain.jp/template/tim …

      補足日時:2021/04/25 06:18
  • うーん・・・

    「Schedule.htmlがJavascriptなどでfragmentまでスクロールしたら」のJavascriptはSchedule.html内のものです。
    例えば、iframe で表示されている広告の業者が、広告内にfragmentまでのスクロールを入れれば、自社の広告を一番に見てもらうことが可能なのかもしれません。

      補足日時:2021/04/25 06:24

A 回答 (1件)

いしい さん


 >・・・・ちゃんと先頭から表示されますでしょうか?・・・・・・・・

いいえ、火曜日から表示されます。

先頭から表示したいのなら、

【誤】
<iframe src="Schedule.html#Tuesday" id="Schedule" title="予定表"></iframe>

を↓

【正】
<iframe src="Schedule.html" id="Schedule" title="予定表"></iframe>

とします。
    • good
    • 0
この回答へのお礼

私だけじゃなかったのですね。
教えていただき、ありがとうございます。
srcの中からページ内リンクを外したくないのです。
実際のソースではJavascriptでページ内リンクを付加しているのですが…。
そもそも、どうしてiframeにページ内リンクを付加するとページの先頭から表示してくれないのか理解できないでいます。

お礼日時:2021/04/24 20:05

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


おすすめ情報