• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:直リンクされた場合のフレーム表示を崩したくない→どうやってループを避けるか??)

直リンクされた場合のフレーム表示を崩したくない→どうやってループを避けるか??

このQ&Aのポイント
  • 直リンクされた場合のフレーム表示を崩さないためには、リンク元がトップページであるかどうかを判定し、条件に合致しない場合はトップページへジャンプするようにすることでループを回避できます。
  • 上記の方法では、トップページからindex.htmlへのリンクをクリックした場合にフレーム内でループが発生してしまう問題があります。この問題を解決するためには、リンク先のページで直接フレーム内に表示するように設定することが必要です。
  • 上記の記述ではフレーム内にループが発生してしまう問題を回避することはできません。別の方法としては、リンク先のページでフレーム内で表示されるように設定し、index.htmlへのリンクをフレーム外に設置することでループを防ぐことができます。

質問者が選んだベストアンサー

  • ベストアンサー
noname#35109
noname#35109
回答No.1

ヾ(--;)ぉぃぉぃ,ブラクラかよぉ~(笑)。 ブラウザがハングアップしてしまいました。 document.referrerでリンク元を認識していないみたいですね。 というか,document.referrerは, ローカル環境下では正常に機能しない場合が多々あります。 UPしたら正常に動くかもしれません。 でもなんとなく恐い。UPしたとき自分は正常でも他の人はどうなるか… 単純に, if (document.referrer != myHome){ // リンク元がトップページじゃない   ↓ 変更 ↓ if (window == window.top){ // ページがトップウィンドウの場合 ではだめなのでしょうか。一応の「window == window.top」にすると, WindowsのIE5.5=○,Netscape7.1=○,Flrefox1.01=○,Mozilla1.7=○,Opera7.54=○, ではJavaScript有効時においてはちゃんと動作しました(Macは試していません)。 もう少し単純に,変数を取って ------------------------------------- <script language="JavaScript"> <!-- if(window == window.top){ location.href="http://www.provider.jp/yourHP/index.html" } // --> </script> ------------------------------------- でも良いですけど。

kiraken1
質問者

お礼

ご丁寧な回答どうもありがとうございます!document.referrer != myHomeをwindow == window.topに変えたらばっちりokでした!!!!ほんとに助かりました(ToT) document.referrerのままでとりあえずupしてみようかとも思ったのですが、上の方法を試したら見事に解決したのでこちらを採用致しました。本当に本当にありがとうございました!!ちなみにmacのsafariとIEで確認出来ました☆

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • 他サイトからの直リンクをTOPページに飛ばすタグ

    ホームページのTOPページ以外のページにリンクを貼られてしまっていることが多くて、困っております。 他サイトからTOPページ以外へ直接リンクして入って来た場合、強制的にTOPページに飛ばす方法を教えて下さい。 他のところで見つけて、下のタグを試してみましたが、まったく効果がありませんでした。 (ちなみに、IEを立ち上げ、詳細ページのアドレスを貼り付け、リンクさせて見ましたが、TOPページへ飛びませんでした。 <script type="text/javascript"><!-- link = document.referrer; if(!link || !link.match(/http:\/\/www.oooo.jp/))location.href = "http://www.oooo.jp/index.html"; // --></script> ご存知の方、よろしくお願い致します。

  • (CGI)お気に入り登録やアドレス直打ちを防ぐには?

    フレームページ等を使用していてフレーム内のアドレス直打ち、それによるお気に入り登録を防ぐには以下のタグが有効ですよね?↓↓ <SCRIPT language="javascript"> <!-- if (!document.referrer){top.location.href="http://************";} //--> </SCRIPT> または、 <script language="JavaScript"> <!-- if(self ==top){location.href = "http://*****";} // --> </script> この「アドレス直打ち、お気に入り登録を防ぐ機能」をCGIで表す事は可能ですか? 可能ならば、とどのようになりますでしょうか? CGIで作成した掲示板の中に挿入して防ぎたいのですが・・ 宜しくお願いしますm(_ _)m

    • ベストアンサー
    • CGI
  • フレーム内リンクを禁止したい

    表題のとおり、フレーム内へのリンクを禁止したく <script language="JavaScript"> <!-- if (parent.location.href != window.location.href) parent.location.href= window.location.href; //--> </script> を<head>と</head>の間に入れてみましたが、「書き込みができません。」とエラーになります。 どこか間違っているのでしょうか。

  • リンク元フレームからの脱出

    自分のサイト http://www.***.ne.jp/xxx/ がリンク元フレーム内に 表示されるのを回避しようと、以下のスクリプトを<head>に書いて みました。NN4.7とIE5.0でテストしましたが、入れ子からの脱出はできず、 それ以降に書いたスクリプトも実行されません。添削していただけませんか。 <script language="JavaScript"> <!-- yourTop = window.top.location.href; if ((yourTop.substr(0,4) == "http") && (yourTop.substr(11,13) != "***.ne.jp/xxx")) { window.top.location.href = "http://www.***.ne.jp/xxx/"; } //--> </script>

  • 直リンクを弾くJavaScriptについて

    こんにちは!初めての質問なのでちょっと緊張していますが、宜しくお願い致します。 今私は直リンクを弾くスクリプトを設置中です。 下記のものがそうなんですが…。 <script language="JavaScript"> check = "http://yahoo.co.jp/"; url = "http://oshiete1.goo.ne.jp/"; ref = top.document.referrer; // if (ref.indexOf(check) < 0) // document.location = url; </script> この設定だと、yahooの以下デイレクトリのURL(http://yahoo.co.jp/○○.html)からのアクセスでも閲覧許可になり、gooには飛びませんよね? なのに、見に来てくれた人の中でページが見れないっていう方がいるので困っています。 自分でもテストしてみましたが、「お気に入り」にすると見れなくて、ちゃんとサイト内のリンクからは見れましたが・・・。 一体何がいけないのでしょうか? ちなみに見れないと言ってる人は会員さんで、リンク文字をクリックして出たダイアログにパスワードを入れて、上のスクリプトがあるページにいくといった感じの道順です。詳しい事は連絡が取れないのでわからないのですが。 それともその人が実はお気に入りから入ったのでは…などとも思っています。 自分では上手くいくので本当に謎です。 どうか判る方、宜しくお願いします!!もう藁にも縋る思いです。 http://suepon.com/ 使っているのはここのスクリプトです。参考までに。

  • 直リンクされた場合のフレームセットのリンクを変更したい

    フレームセットを利用していると直リンクされると、レイアウトが崩れて嫌なので普段は <body onLoad="if (top == self) { location.replace('index.html') };"> このタグで強制的にフレームセットのページであるindex.htmlにリロードしています。 でも、この場合だとindex.htmlにフレーム設定をしているA.htmlとB.htmlしか表示できません。 これを、直リンクされた場合に強制的にindex.htmlに飛んで、さらにフレームセットのページをA.htmlとC.html(直リンクされたページ)に変更させたいのです。 なんとなくJavaScriptで出来るかな思いましたが、CGIでも構いませんので、よろしくお願いします。

  • 複数のアラートから複数のジャンプページへリンクしたい

    サイトの1ページに6個のリンクボタンをつけ、それぞれに違うページにジャンプしたいです。 http://www.sky.sannet.ne.jp/masapine/java_alert8.html を参考に下記のようにしてみましたが、複数ページへのリンクの記述がわかりません。 どこかを変更すればよいのでしょうか。 よろしくお願いいたします。 <SCRIPT LANGUAGE="JavaScript"> <!-- function link1(){ if(confirm('本当にご覧になりますか。')){ location.href='xxx.html'; } } //--> </SCRIPT> <p><a href="xxx.html" onClick="JavaScript:link1();return false"><img src="photo.gif" alt="手術の写真を見る" width="150" height="37" /></a></p>

  • javascriptの動作について

    こんばんは。 直接アドレス指定などしてきたものについては、 トップページへ飛ばすことをしようと思ったのですが、 以下の記述だと、IE8では動作しましたが、GoogleCrome(11.0.696.77)、firefox(3.6.0)、safari では動作しませんでした。(location.hrefがダメなんでしょうか?) 解決策・回避策などあれば教えてください。 よろしくお願いします。 <script language="JavaScript" type="text/JavaScript"> <!-- var url; url = document.referrer; if(url != 'http://xxxxxxxxx'/){ location.href('http://xxxxxxxxxxxxx'); } // --> </script>

  • 隠しリンクを…

    こんにちは。 隠しリンクを以下のスクリプトで貼ろうと思うのですが、リンク先のページを別のフレームに開きたいのです。 <script language="JAVAScript"> <!-- function link(){ location="index.htm"; } //--> </script> 隠し<span onclick="link()">リ</span>ンク どこに、何を加えればいいのでしょうか? よろしくお願いします。

  • 別なページにジャンプさせたい

    ボタンをクリックすると指定のページに飛ぶようにしたいのですが、 <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form onSubmit="jump()"> <input type="submit"> </form> </body> </html> でも <html> <head> <script language="JavaScript"> function jump(){ location.href="index.html"; } </script> </head> <body> <form> <input type="submit" onClick="jump()"> </form> </body> </html> でも動きません。(そのページを表示したままです) <body onload="jump()">にしたときは正常にジャンプできるので、クリックのイベントが拾えていないと思うのですが、どのように記述すればいいのでしょうか。 よろしくお願いいたします。