よろしくお願いします。JavaScriptは、ほとんど触ったことがなく、現在記述がわからず困って今sう。
htmlファイルの中から、外部ファイルに引数(referre)をつけて渡したく思います。で以下のようにやってみたのですが、
index.html
<script type="text/javascript" src="http://hoge.com/info.php?ref=' + document.write(document.referrer) + '"
charset="Shift-JIS"></script>
info.php
$ref = $_GET['ref'];
echo document.write('$ref');
info.phpから返ってくる答えは「' document.write(document.referrer) ' 」です。
index.html内の JAVASCRIPT部分が間違っているに違いないのですが、どうやって記述すればよろしいでしょうか?
よろしくお願いします。
No.3ベストアンサー
- 回答日時:
src要素内はJavaScriptではないので、document.write()としても文字列としてしか認識されません。
info.phpにreferrerを渡すのでしたら、
<script type="text/javascript">
var ref = document.referrer ;
document.write("<script type=\"text/javascript\" src=\"http://hoge.com.info.php?ref="+ref+"\"></script> …
</script>
とする必要があります。
No.2
- 回答日時:
><script type="text/javascript" src="
http://hoge.com/info.php?ref=' + document.write(document.referrer) + '"charset="Shift-JIS"></script>
script要素の内容としてならともかく,src属性内はjavascriptではないと思うので多分ならない。(つまり文字連結演算子としても捕らえられることはない)
http://hoge.com/info.php?ref=' + document.write(document.referrer) +'
というURLになるだけだと思われる
No.1
- 回答日時:
Windows XP Pro SP2 + ANHTTPD 1.42p + PHP 5.2.3
参考資料
http://homepage1.nifty.com/yito/anhttpd/faq/php5 …
『Webサーバ上に載せたら』
すべてのファイルを同じフォルダに入れて
Q3205563-1.htmlへアクセス
==================Q3205563-1.html=================
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>Q3204021 テストケース1</title>
</head>
<body>
<p><a href="Q3205563-2.html">ほげ</p>
</body>
</html>
====================Q3205563-2.html=============
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dt …
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">
<head>
<title>Q3204021 テストケース1</title>
<style type="text/css">
p#hakka{background-color:red;}
p#fuga{background-color:green;}
</style>
<script type="text/javascript">
function init(){
alert(document.referrer);
var sc=document.createElement("script");
sc.setAttribute("type","text/javascript");
sc.setAttribute("src","Q3205563-3.php?ref=" + document.referrer);
var head = document.getElementsByTagName("head")[0];
head.appendChild(sc);
// hoge();をこの地点で実行できないみたいなので,読み込み終わったと思ったら
// 赤い部分をクリック
}
</script>
</head>
<body onload="init();">
<p>赤い部分をクリック</p>
<p id="hakka" onclick="hoge();">ほげ</p>
<p id="fuga">ふが</p> <!-- referrerがふがの後に追加される -->
</body>
</html>
===================Q3205563-3.php=====================
<?php
$ref = $_GET['ref'];
echo "function hoge(){\n";
echo "var fuga = document.getElementById('fuga');\n";
echo "if (fuga.hasChild){\n";
echo "fuga.firstChild.nodeValue +='" . $ref . "';\n";
echo "}else{\n";
echo "fuga.appendChild(document.createTextNode('" . $ref . "'));";
echo "}\n";
echo "}\n";
?>
この回答への補足
返答ありがとうございます。
一番聞きたい部分は、以下の文
<script type="text/javascript" src="http://hoge.com/info.php?ref=' + document.write(document.referrer) + '"
charset="Shift-JIS"></script>
の「'+document.write(document.referrer)+'" 」の文字列結合演算子なのですが、この書き方では、REFERRERを代入して文字列結合しませんでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
SCRIPT5007: 未定義または NULL...
-
javascriptでクリックしたリン...
-
iframeの中から親ページをスム...
-
getElementsByNameで要素が取得...
-
フレームサイズの変更について
-
乱数を一定時間毎に表示させた...
-
htaでVBSのソースを書いたらエ...
-
プログラミング初心者です。ど...
-
指定した背景画像をサイトを訪...
-
Backbone.js イベントが効かない
-
JavaScriptでの西暦下2桁での表...
-
JavaScriptでのEnterキーとAlt+...
-
JavaScriptでiframeの内容を「...
-
チェックボックスONでテキスト...
-
onkeydownの連続?
-
一定時間ごとに背景画像の切り...
-
ボタン押すたびに文字を送りたい
-
JavaScriptでa:activeなどの設...
-
JavaScriptによるページURLの取...
-
iframeの高さ自動調整
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
function の return 値を表示し...
-
SCRIPT5007: 未定義または NULL...
-
JavaScriptでiframeの内容を「...
-
getElementsByNameで要素が取得...
-
キーを押している間の時間を計...
-
フォーカス移動抑止について
-
JavaScriptでの西暦下2桁での表...
-
自動ジャンプでフォームデータ...
-
出荷予定日を表示するJavaスク...
-
クリックすると別の文章を表示する
-
リンク移動先のURLを取得
-
乱数を一定時間毎に表示させた...
-
JavaScript でキーを送る
-
idHOGEで取得したinnerText(数...
-
ボタンのID名を取得するには?
-
htaでVBSのソースを書いたらエ...
-
Javascriptの出力結果をhtmlボ...
-
bodyタグのfocus
-
AjaxでDBから取得したデータを...
-
JavaScriptでのEnterキーとAlt+...
おすすめ情報