• ベストアンサー
  • 困ってます

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>

共感・応援の気持ちを伝えよう!

  • 回答数1
  • 閲覧数129
  • ありがとう数1

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

  • ベストアンサー
  • 回答No.1
  • 4017B
  • ベストアンサー率71% (1060/1482)

とりあえずこんな感じOKでした。一応、Gecko、Webkit、Trident~で動作確認済みです。 ━ ココから ━━━━━━━━━━━━━━━━━━━━━━━━ <script type="text/JavaScript"><!-- window.onload = function(){ var my_url = 'http://example.com/'; //ここにTOPページを代入 var my_ref = document.referrer; if( my_ref.indexOf(my_url) < 0 ){ window.location.href = my_url; } }; //--></script> ━ ココまで ━━━━━━━━━━━━━━━━━━━━━━━━ Chromeだと一瞬だけ、元ページが表示されます(笑)。他のブラウザの場合は、元ページも一切表示されずに、my_urlで指定されたページへ飛びます。 P.S. まさかとは思いますが…。例文の「if(url != 'http://xxxxxxxxx'/){」はタイポですよね?? もしそれがそのままソースコードとして記述されてるのだとしたら、’で囲われた区切りがおかしいです。文末が「xxxx'/」ではなく、「xxxx/'」となるべきです。 まあ、それはそれとして。回答文の物は、少し色を着けてます。というか例文のままだと、普通にサイト内リンクとかの場合にも、直リンクと見なして飛ばされてしまうのでは??

共感・感謝の気持ちを伝えよう!

質問者からのお礼

ありがとうございました!! 期待通りの動作が確認できました! ただ、回答いただいた内容をHTML内に追加したら、動作しなかったので、 JSファイルにして、呼出す方法にしたら、うまくいきました。 また、確かに最初質問した内容だとサイト内リンクでNGでした。 文字列検索にしたほうが良いですね。参考になりました。 助かりました。ありがとうございます。

関連するQ&A

  • JavaScriptを追加したい

    こんにちは。 こちら(ttp://f22.aaa.livedoor.jp/~sncspt/)のサイトさんの配布している「SNC THREADBBS 3」を使用したいのですが、その中に ***** <script type="text/javascript"> <!-- var url = "http://サイトアドレス"; if((document.referrer == "") || (document.referrer.match(url) == null)) { window.location.href = url; } // --> </script> ***** もしくは、 ***** <LINK rel="stylesheet" TYPE="text/css" HREF="javascript.js"> ***** のように入れたいのですが、どこにどう入れたらいいか分かりません。 そのサイトさんで聞けばいいのかもしれませんが、少し急いでいますのでどなたかアドバイスをお願いしたいです。 よろしくお願いします。

  • Javascriptで自動更新

    あるページを10秒に一度、自動で更新させたいのですがなにかよい方法はありませんか? このサイトで見かけたスクリプトを試してみても動作しませんでした;; <script language="JavaScript"> <!-- min=60; setTimeout('reload()', min*1000); function reload() { location.href=location.href; } //--> </script> Javascriptで実現する方法があれば教えてください。

  • リンク時にjavascriptを2つ動作させたいのですが・・・

     こんにちは。 実はHPで、リンク時に、javascriptで2つのことを命令したいのです。 1つ目は、効果音をならす。 2つ目は、リンク先でブラウザの戻るを禁止する といったような感じです。  しかし、javascriptはよく分からないので、とりあえず、下のようなタグを書いたのですが、ちっとも動作しませんでした。  どなたか、教えていただければ助かります。 <head> <script language="JavaScript"> <!-- function wav(name) {sound.src = name;} //--> </script> <bgsound src="" id="sound"> </head> <body> <a href="javascript:window.location.replace('リンク先URL');" javascript:wav('効果音のファイル名')">リンク</a> </body>

  • Javascript:同じスクリプトを使い、URL変更のみしたいのですが。。。

    子ウィンドウから親ウィンドウのURLを変更するJavascriptを作成しました。 子ウィンドウのHTMLソースは下記の通りです。 「function ctrlWin()」を同じように「function ctrlWin2()」「function ctrlWin3()」・・・と、書き続けるのはあまり効率的でないと思うので、URLだけ指定するような方法を教えてください。 環境はIE6.0以上です。 ---------------------------------------- <html> <head> <title></title> <script Language="JavaScript"><!-- function ctrlWin() { window.opener.location.href = "http://www.yahoo.co.jp/",target="_main"; } function ctrlWin2() { window.opener.location.href = "http://www.google.co.jp/",target="_main"; } // --> </script> </head> <body> <a href="javaScript:ctrlWin()">(Yahoo!)</a><br> <a href="javaScript:ctrlWin2()">(Google!)</a> </body> </html>

  • JavaScript、動作解説のおねがい!

    こんにちは。お世話になります。 次のJavaScriptは、どういった事(何を)するものか、おしえてください。 <script type="text/javascript"> //<![CDATA[ if ((top != self) && location.href.match(/^http:\/\/[\d]+\.[\d]+\.[\d]+\.[\d]+\/translate_c/)){ if ( navigator.appName == 'Netscape' && parseInt(navigator.appVersion) == 6 ) { top.location.replace(location.href); } else { top.location = location.href; } } //]]> </script> よろしくお願いします。

  • アクセスする都度INDEXページを変える

    自動的にURL移動するJavaScriptは以下のようにしますが、 いくつかのURLを用意しておき、アクセスする度にそれぞれのURLへランダムに移動させることをしたいのですが、良い方法ありますでしょうか。 よろしくお願いいたします。 <SCRIPT language=JavaScript> <!-- function AutoJump(){ location.href="http://www.xxxxxxx.jp"; } //--> </SCRIPT>

  • Javascriptで自分のサイト以外からのリンクを弾く方法

    こんにちは。質問させて頂きます。 訳あって、コンテンツ内の一部のページを外からリンクされないようにしたいと思います。 <script language="JavaScript"> <!-- if(document.referrer.indexOf("http://www.goo.ne.jp/○○.html/")== -1) window.location.href="http://yahoo.co.jp/"; //--> </script> このサンプルはhttp://www.goo.ne.jp/○○.html/からのリンク(自分のサイトと仮定)を全て許可し、それ以外はYahooに飛ばすというものですが、○○.htmlを削除したらgooからのリンクは全て許可するという事でしょうか? Winでやってみましたら、時々エラーになるようなのですが…Macでは上手く動きます。 構文に間違いがあるとすれば、それは何処なのでしょうか。 御指南お願い致します。

  • JavaScriptで作成されるボタンの動作原理

    JavaScriptの読み方(phpも含む?) あるJavaScriptソースの読み方がわからないので質問させていただきました。 動作原理がわからないJavaScriptのソース <p class="al-c"><script type="text/javascript" src="http://xxxxxxxxx.php?ser=yyyyy&m=fakjlfafask"></script></p> このソースをHTMLに埋め込むとボタン(画像のボタンです)が表示される。 そのボタンをクリックするとJavaScriptで記述されたポップアップが表示されました。 srcのURLにてPHPのソースを呼んでいると思うのですが、これは、どのような仕組みで動作していると考えられるのでしょうか。 なぜなら、HTMLソースの中に「ボタンの画像自体」と「JavaScriptでクリックするイベント」も存在しないためです。 ちなみに、URLをそのままブラウザに打ち込むと「&#65374;.js」のダウンロードが開始されるような動作になりました。 最終的にはVBAでJavaScriptボタンをクリックしてポップアップを自動で表示させたいと思っておりますが、実現できますでしょうか? 以上、よろしくお願いいたします。

  • JavaScript内にJavaScriptを読み込む方法

    HTML内に <script type="text/javascript" src="main.js"></script> という一行を追加すると、バナーが表示されるというスクリプトを作成しています。 main.jsは、 html = '<script language="JavaScript">'; html += 'var url0101 = "url01.xxx.jp";'; html += 'var url02 = "url02.oooo.jp";'; html += '</script>'; html += '<script language="JavaScript" src="http://xxx.xxxx.xxx/test.js"></script>'); html += '<script language="JavaScript">'; html += 'Function01("check")'; html += '</script>'; document.write(html); というような風になっており、 (1) 変数の宣言 ↓ (2) http://xxx.xxxx.xxx/test.jsの読み込み ↓ (3) (2)で読み込んだjs内の関数Function01を実行 という流れです。 FireFoxでは表示されましたが、IE6では (2)のjsを読み込む前に(3)のFunction01が実行され、 「オブジェクトを指定してください」のエラーが表示されてしまいます。 よい方法がありましたら教えていただけますでしょうか? よろしくお願いします。

  • (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