![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
詳しくコピーするので、長文になることをお許し下さい。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><HTML LANG="ja">
<HEAD>
<META HTTP-EQUIV="content-type" CONTENT="text/
html;charset=SHIFT_JIS">
<META HTTP-EQUIV="content-style-type" CONTENT="
text/css">
<META NAME="robots" CONTENT="NONE">
<META NAME="content-language" CONTENT="ja">
<META NAME="build" CONTENT="2004.05.25">
<TITLE>初めに…</TITLE>
</HEAD>
<BODY>
<script type="text/javascript">
<!--
refurl = document.referrer
if( refurl != "http://www.zzz/~yyy/xxx.html" ) {
alert("ここは入り口ではありません");
history.back();
}
//-->
</script>
<noscript>
Javascriptが無効です。Javascriptを有効にして<br>
やり直して下さい。<br>
解らなければ、mosomoso8まで。<br>
<meta http-equiv="refresh" content="http://www.zzz/~xxx/uuu.html"></noscript>
123456789
</body>
</html>
※uuu、xxx、yyy、zzzは、仮の文字です。
↑こんなソースなのですが、『http://www.zzz/~yyy/xxx.html』からリンクしても、アラートが出てしまい123456789の文字が見れません。
このソースの間違いがわかる方、どうか教えて下さい。
かれこれ、もう1ヶ月も悩んでいます。
最初、『http://www.zzz/~yyy/xxx.html』からURLを直接入力してジャンプするのが原因かと思い、その後テストの為上記のページからリンクを張ってみたのですが、それでもアラート表示が出て、弾かれます。
どなたか、どうかお助け下さい。
No.2ベストアンサー
- 回答日時:
まず疑うべきは、document.referrer の中身ですね。
本当にここに、あなたの求める値が入っているのかどうかが問題です。
この問題を解決するためには、
refurl = document.referrer
alert(refurl)
if( refurl != .....
というふうにプログラムを改造してみてください。
もし正しい値が入っているように見えたら、余計なスペースなどが入ってしまっていないかもチェックしてください。
そして問題が全て解決したら、alert(refurl) を削除するわけです。
直接の回答になってなくて申し訳ないですが、プログラムの考え方自体には問題がないように見えたので……。
それから老婆心ながら、history.back(); は集客率を落とすだけなんでやめた方がいいですよ。
アラートも何も表示せず、ただ黙ってトップページにジャンプさせた方が親切だと思います。
それと JavaScript は行末の ; はなくても動きますが、ブラウザによってエラーが出る可能性があるのでできればつけた方がいいですよ。
あと、すでにやってらっしゃるかもしれませんが、このプログラムは別ファイルにしてアチコチのHTMLファイルで使いまわせるようにすれば便利ですよ。
alert(refurl)
このを使っての確認の方法は全然知らなかったので、本当にありがとうございました。
とても助かりました。
正しく、余計なスペースが入っていたのでした……
お忙しい時間を割いて頂いたのに、こんなしょうもない原因で、とても恥ずかしいです。
本当にありがとうございました。助かりました。
No.3
- 回答日時:
今、手元に資料がないのですが、document.referrerは
IE5ではセキュリティ上、取得できなかった記憶が
あります。IE6でどうなったかはちょっとわかりません。
過去の質問に同様の質問・解答がありましたので
参考URLに記述しておきました。
参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=343265
教えて頂いた参考URL、直接の修正には利用できませんでしたが、内容事態はとても参考になりました。お忙しい時間を割いてわざわざ私の質問に手を貸して頂いて、本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP PHPのエラーの解消法について教えて下さい。 1 2023/02/06 10:48
- JavaScript switch文のswitch(n)の部分を複数の値にするか、if文に変えてほしいです。 1 2022/07/27 17:18
- JavaScript セレクトボックスを2つ設けて選択して初めてメッセを表示 1 2022/07/27 12:15
- PHP 入力した部分を表示させたまま(保持)するにはどうすれば良いでしょうか? 1 2023/01/25 11:14
- JavaScript GoogleChart 階層ごとのブロックの長さを個別に設定したい 1 2022/07/06 14:27
- HTML・CSS 下にスクロールしても、追従するボタンのコードを書いたのですが、ボタンの中の画像が半分しか表示されない 1 2022/04/16 21:31
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- PHP PHPでCookieを使った訪問回数について 1 2023/05/28 14:10
- PHP PHPでユーザー情報を入力して簡易ログイン機能をつくってみたのですが 1 2023/05/29 08:51
- HTML・CSS cssが効かなくて困ってます 1 2023/01/01 23:57
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
AjaxでDBから取得したデータを...
-
bodyタグのfocus
-
SCRIPT5007: 未定義または NULL...
-
javascriptでリンク元の規制
-
jqueryでサーバーにデータを送...
-
フォーカス移動抑止について
-
<a href="#" …>の意味を教えて...
-
bodyにidをつける理由は何ですか?
-
openerの関係が崩れてしまった...
-
undefinedが表示されてしまう
-
jQuery GalleryViewスライドショー
-
外部ファイルでBODYのonloadイ...
-
(Javascript)印刷するファイル...
-
インラインフレームをドラッグ...
-
フレームを解除する方法
-
wordpressでアコーディオンメニ...
-
プルダウンメニューを別ファイ...
-
相対パスと絶対パスの速度
-
twitter widgetが表示されない
-
SQLのWHEREで全てを質問する方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
getElementsByNameで要素が取得...
-
JavaScriptでiframeの内容を「...
-
function の return 値を表示し...
-
SCRIPT5007: 未定義または NULL...
-
ボタンのID名を取得するには?
-
JavaScript でキーを送る
-
フォーカス移動抑止について
-
乱数を一定時間毎に表示させた...
-
ボタンを押してテキストエリア...
-
bodyタグのfocus
-
JavaScriptでのEnterキーとAlt+...
-
自動ジャンプでフォームデータ...
-
一定時間画像を表示させ、その...
-
リンク移動先のURLを取得
-
idHOGEで取得したinnerText(数...
-
「オブジェクトを指定してくだ...
-
html javascript 作った配列を...
-
キーを押している間の時間を計...
-
チェックボックスの選択パター...
-
Operaでのobjectタブの高さ変更
おすすめ情報