- ベストアンサー
質問iframeの中にページを自動で飛ばす方法
- 違うページのフレームの中に今あるページを飛ばしたいんですが、飛ばした先の違うページのフレームの中で永遠に飛び続けずに収まる方法はありますか?
- iframeを使用して別のページのフレーム内で現在のページを表示したい場合、永遠にループすることなく1回だけ飛ばす方法はありますか?
- 今あるページを別のページのフレーム内に表示し、一度だけ飛ばした後はページが増え続けずに収まる方法はありますか?
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
本来フレーム内に表示させるべきページに直接訪問されたときに、フレームセットのページへリンクさせ、そのページはフレーム内に表示させたいと言うことですね。 frameset.html |--iframe /subPage.html この場合、refrashで飛ばすと、無限ループにおちいって、そのようになります。多分唯一の解決策は <script language="JavaScript"> <!-- if (window == top) top.location.href = "index.htm"; //--> </script> 意味は、自身がtopになってしまったら、index.htmlに跳べと言うことです。 これをrefreshの代わりに<head></head>内に書きます。 ★ただし、最近多いページ遷移javascriptを停止しているブラウザには無効です。 ★そしてなによりも、フレームにはメリットを上回るデメリットがあります。 ・・フレームないページに直接訪問されるというのもデメリットです。 →フレームページのリンクについて - HTML - 教えて!goo ( http://okwave.jp/qa/q6436982.html ) →フレームの利点と欠点:デザインを見直す(2) - HTMLタグボード ( http://www.dspt.net/seo/002/index.html ) →フレーム 問題 html - Google 検索 ( http://www.google.co.jp/#hl=ja&cp=8&gs_id=8j&xhr=t&q=%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0+%E5%95%8F%E9%A1%8C+HTMl&pq=%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0+%E5%95%8F%E9%A1%8C&pf=p&sclient=psy-ab&safe=off&source=hp&pbx=1&oq=%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0+%E5%95%8F%E9%A1%8C+&aq=0&aqi=g1&aql=&gs_sm=&gs_upl=&bav=on.2,or.r_gc.r_pw.,cf.osb&fp=f827a9af1eb2b0c5&biw=1016&bih=583 ) 当面は。上記javascriptで対応して、順次フレームのページは減らしていきましょう。 (補足) <body bgcolor="#FFFFFF"> <br> このページは10秒経つと自動的に<a href=""></a>に飛びます。<br> </body> </html> のHTMLは間違っています。<body>要素の直下にテキストや<br>を書くことは出来ません。<body>の下にはブロック要素しか入りません。 <body bgcolor="#FFFFFF"> <p> このページは10秒経つと自動的に<a href=""></a>に飛びます。 </p> </body> です。 </html>
補足
親切に質問以外のことまで思慮してくださりありがとうございました。 まだ分からないことばかりですが、時間をかけて一つ一つ把握できていけるといいです。 無限ループに関してはネットで検索してたまたま見つけた以下のスクリプトで解決できました! ======================== <script type="text/JavaScript"> var link = document.referrer; // リンク元取得 var paths = link.split("/"); var path = paths[paths.length - 1]; // ファイル名 if(path != "~.html"){ // ~.html以外からのアクセスは以下のアドレスに飛ばす location.href = "http://www.~"; } </script> ========================