• ベストアンサー

JavaScriptのwindow.openでリファラーが取得できない。

<SCRIPT language="JavaScript"> <!-- function OpenWin(){ window.open("sample.cgi,"new","width=500,height=250"); } // --> <A href="#" onClick="OpenWin()">オープン</a> 上のようにsample.htmlのページ内にwindow.openのJavaScriptを書いています。 sample.cgi内に$ENV{'HTTP_REFERER'}を埋め込んでいるのですがリファラーが取得できません。 window.openの場合はリファラーは取得できないのでしょうか?

  • CGI
  • 回答数5
  • ありがとう数2

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

  • ベストアンサー
回答No.3

リファラーは取得できませんので、わたしならJavaScriptでリファラーを取得してそれをCGIに渡します。。 <SCRIPT language="JavaScript"> <!-- function OpenWin(){ window.open("sample.cgi?ref=" + document.referrer, "new", "width=500,height=250"); } // --> 後はsample.cgiの中で use CGI qw(:standard); $ref = param('ref'); とすれば$refにリファラーの値が入ります。

volvo850love
質問者

補足

ご回答ありがとうございます。 私がリファラーによっておこないたいことはsample.cgiへの外部からのアクセスを拒否したいのです。 ですからおっしゃるような感じではだめなんです。 すみません。

その他の回答 (4)

回答No.5

下記を別々にしてみてはどうでしょうか。 ・windowを開く ・画面を遷移する ----- /* 開くだけ */ window.open("","new","width=500,height=250"); ----- <A href="sample.cgi" target="new" onClick="OpenWin();">オープン</A>

回答No.4

私もつい最近同じことで悩みました。 OSやブラウザによってはwindow.openでもリファラが取れるんですが、WIN+IEではダメのようですね。 <A href="sample.cgi" target="_blank">オープン</a> として、sample.cgiのボディタグに <body onload="window.resizeTo='500,250'"> ではダメですか? アドレスバーとかは残っちゃいますが…。

volvo850love
質問者

お礼

なるほど。やはりだめなんですね・・・ ><body onload="window.resizeTo='500,250'"> >ではダメですか? アドレスバーとかは残っちゃいますが…。 いえそこまでのこだわりはないので、そのようにしてももちろんかまわないですが。 ありがとうございました。

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.2

window.open は、新しくウィンドウを開くのでリファラーは得られないように思いますが・

volvo850love
質問者

補足

新しい窓を開くということであればtarget=_blankもそうですがこの場合リファラーとれますよね。 window.openにかぎっては取得できないのでしょうか?

  • Jodie0625
  • ベストアンサー率30% (397/1288)
回答No.1

参照できるかできないか以前に、シンタックスミスしてるように見受けられます。 sample.cgiの後に、「"」が足りないように思えます。 これを加えてからだと、どういう動作しますか? window.open("sample.cgi","new","width=500,height=250");                ↑

volvo850love
質問者

補足

"は単に書き損じです。すいません。実際はあります。

関連するQ&A

  • javascriptでのポップアップウィンドウが開かなくて困っています><

    初歩的な質問ですいません。 <script language="JavaScript"> <!-- function OpenWin(){ win=window.open("sample.html","new","width=100,height=100"); } //--> </script> <a href="javascript:OpenWin()"><img src="img/1.jpg" width="60" height="60" onClick="MM_openBrWindow('sample.html','sample','scrollbars=yes,width=460,height=460')" border="0"></a> 上のスクリプトで下のリンクで開こうとする時に、 どうしても開けません。>< どうしてなのでしょうか!? どこかが間違えているのでしょうか!? 誰か助けていただけませんでしょうか;><;;

  • window.openについて

    お世話様です。 早速本題なんですが画像のサムネイルページがあります。 そのページからサムネイルをクリックすると新しいウィンドウを開き元画像を表示するのですが、すべてサイズが違うためヘッダに <script language="JavaScript" type="text/javascript"> <!-- function openwin(url, w, h) { window.open(url,"","width=" + w + ",height=" + h); } // --> </script> と書いて、リンク<a>に onclick="openwin(this.href, 800, 600); return false;" とリンク1つづつに数値(幅,高さ)を変えながら入れて、 サムネイルが指定したサイズで新規ウィンドウとして開くところまでは至りました。 ですが、これでは、サムネイルをクリックする度に新規ウィンドウが開いてしまいます。ウィンドウの名前を指定しようと思い、 ヘッダを function openwin(url, name, w, h) { window.open(url, name, "width=" + w + ",height=" + h); とかえ、リンクを onclick="openwin(this.href, new, 800, 600); return false;" と変えました。 これでいけるかと思ったのですが、サムネイルと同じウィンドウに開かれてしまいます。さて、、、自分の力量はこんな程度で、もうわかりません。 どうすれば、アタらしいウィンドウの名前を指定出来るのか、 初歩的なところかもしれませんがご教授よろしくお願い致します。

  • JavaScriptで新しいウインドウを立ち上げたときにメインウインドウがおかしい

    メインウインドウの文章中の下の方にリンクをはって、そこからサブウインドウを開いています。実は少し前にatsuotaさんにご回答いただいたこの方法を利用しているのですが <!-- function openWin1() { window.open("sub1.html","sub1","width=320,height=240"); } function openWin2() { window.open("sub2.html","sub2","width=320,height=240"); } --> <a href="" onClick="openWin1()">sample1</a> <a href="" onClick="openWin2()">sample2</a> このsample1とか2がスクロールしなくてもよいくらいの位置にあればいいのですが、スクロールしているところで配置してあると、メインウインドウが毎回トップのあたりにずれてしまうのです。(特別な制御はしていないはずなのですが・・・) おわかりになる方がいらっしゃいましたら教えてください。

  • window.openについて。

    初歩的な質問で申し訳ありません。 ★<script> function openWin(filename){ newWin = window.open(winname + ".html", "", "width=300, height=200, location=no, menubar=no, toolbar=no,resizable=yes"); } </script> ★<a href="JavaScript:openWin('pr00001')">PR00001</a> ・・・という二つのパーツ(★)があるのですが ここで分からないことがあります。 『function openWin(filename)』の『filename』にpr00001というhtmlファイルを埋め込む・・というのは理解できるのですが最初のパーツにある『newWin = window.open(winname + ".html"・・・』の中の『winname + ".html"』とは何を指しているのでしょうか・・・・。 大変申し訳ありませんがご指導お願いいたします。

  • REFERERの取得

    a.php <INPUT type="button" onClick="location.href='b.php'"> としてボタンをクリックしたらb.phpに飛ぶようにして b.php $referer = $_SERVER[’HTTP_REFERER’]; print $referer; としたら、 何も表示されないので、REFERERが取得できていないということなんでしょうか?それと、どういう場合にREFERERは取得できないんでしょうか?

    • ベストアンサー
    • PHP
  • window openについて

    こんにちは、例えば以下のようなスクリプトがあったとします。 <html> <form name = serchform> <input type=text name=id><br> <input type=submit value=ID検索 onclick="openwin()"> <a href="javascript:open(1);"><Img Src="1.bmp"></a><br> <a href="javascript:open(2);"><Img Src="2.bmp"></a><br> <script type="text/javascript"><!-- function openwin() { a = document.serchform.id.value; url = "http://10.8.2.166/test/syuhou_kensaku.php?id="+a; mywin = window.open(url,"","width=1120,height=500"); } function open(select) { if(aa == 1){ alert("Test") url2="http://10.8.2.166/test/kensaku.php?msg="+Testです; mywin2 = window.open(url2,"",""); } } //--></script> このソースを実行すると、ID検索ボタンをクリックしても何も反応せず 1.bmpをクリックすると、Testとメッセージが表示され、画面左下に 警告マークが表示され、何も反応しません。 しかし、function open(select)を削除し、ID検索ボタンをクリック すると命令した処理を実行してくれます。 function openwin()を削除したらその逆も起きるのかと考えやって みたのですが、これについては上記と同じエラーでした。 なぜこのようになるのか原因が分かりません。 どなたかご存知の方がいらっしゃいましたら、アドバイスよろしく お願い致します。

  • Javascriptで開いたWindowのスクロール

    <SCRIPT language="JavaScript"><!-- function openWin2() { window.open("http://www.OOOO/hanbai.htm","通信販売法","width=636,height=250,menubar=no,location=no,left=10,top=30") } // --></SCRIPT> <SCRIPT language="JavaScript"><!-- function openWin1() { window.open("http://www.OOOO/souryou.htm","送料について","width=579,height=240,scrollbars=no,location=no,menubar=no,left=10,top=30") } // --></SCRIPT> 上記の文で、「送料について」はスクロールバーがなくて OKなのですが、 「通信販売法」は、スクロールバーを出したいのですが、 上の文では、スクロールバーは出てきません。 (表示サイズで途切れてしまう) どう直せば、スクロールバーが出てきますでしょうか??

  • ウィンドウオープンに関する初歩的質問ですが

    ウィンドウオープンに関する初歩的質問ですが html側で <a href="javascript:OpenWin('new.html',100,100)">ウィンドウオープン</a> と記述して javascript側で function OpenWin(url,Width,Height){ win=window.open(url,"new","width=Width,height=Height,resizable=1,scrollbars=1"); } と記述してあります。 javascript:OpenWin('new.html',100,100)の部分を javascript:OpenWin('new.html',300,500)としてリンクをクリックしてもウィンドウの大きさが変化しません。 文法上どこか間違っていますでしょうか? よろしくご教授承りたく存じます。

  • java scriptによるポップアップウインドウについて

    <head> <SCRIPT language="JavaScript"> <!-- function OpenWin1(){ win=window.open("window1.html","new","width=300,height=100"); } // --> <!-- function OpenWin2(){ win=window.open("window2.html","new","width=500,height=200"); } // --> </SCRIPT> </head> <body bgcolor="#FFFFFF" text="#000000"> <A href="javascript:OpenWin1()">1.ウィンドウを開く</A> <A href="javascript:OpenWin2()">2.ウィンドウを開く</A> </body> 「1.ウィンドウを開く」をクリックしてwindow1.htmlのポップアップウインドウを表示させたまま、「2.ウィンドウを開く」をクリックすると、最初のウインドウサイズを保持したまま、新しいウインドウが開いてしまうのですが、これをうまく処理する方法はないのでしょうか? どなたかアドバイス頂けると嬉しいです。 よろしくお願い致します。

  • window.openした時、親ウィンドウのドキュメントがトップに戻る

    リンク先を新しいウィンドウで表示させ、メニューとかステータスバーを非表示にさせるためwindow.openを使用しています。 上記のようにして、子画面を表示することは問題無く出来ているのですが、リンクボタンを押した親画面ドキュメントが、いわゆる「トップに戻る」ボタンを押したときのような動きをしてしまいます。 なんとか親画面側のこの「トップに戻る」動きをやめさせたいのですが、解決法はありますか? ソースは以下のようにしています。 <script language="javascript"> <!-- function openWin(url){ window.open(url, "newwin", "menubar=no,location=no,status=no"); } //--> </script> <a href="#" onclick='openWin("./test.html")'>テスト表示</a>

専門家に質問してみよう