アプリ版:「スタンプのみでお礼する」機能のリリースについて

iframeの中にページを自動で飛ばす方法

違うページのフレームの中に今あるページを飛ばしたいんですが
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>AHREF</title>
<meta http-equiv="REFRESH" content=";URL=">
</head>

<body bgcolor="#FFFFFF">
<br>
このページは10秒経つと自動的に<a href=""></a>に飛びます。<br>
</body>
</html>
こういう方法は分かったんですが、これでは飛ばした先の違うページのフレームの中で永遠に飛び続け、どんどん鏡を向かい合わせて写る世界のようにフレームのなかでページが増え続けていってしまいます。
一回だけ飛ばしたらあとはそのフレームのなかに収まって飛ばないようにする方法はないでしょうか?

A 回答 (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://oshiete.goo.ne.jp/qa/6436982.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 … )

 当面は。上記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>
========================

補足日時:2012/02/01 12:30
    • good
    • 0

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