アプリ版:「スタンプのみでお礼する」機能のリリースについて

javascriptの勉強中しはじめたばかりでわからないとこがあったのでご教授ください。

まずあるホームページA(URL:http://192.168.1.110)からホームページBに飛びます。
ホームページBにはimgがあり、そのimg(飛び先URL:http://192.168.1.111)を押すとクリックURLにリファラ(ホームページAのURL)を付与(例:http://192.168.1.111?ref=http://192.168.1.110)して、
次のページへいくのにはどのようにすればいいか教えてください。

よろしくお願いします。

A 回答 (4件)

リファラを別のページにパラメータとしてわたすということは


サーバー側でパラメータを利用することを想定していますよね?
で、あればリファラをセッションで次のページに渡してやるのが妥当でしょう。

なおjavascriptでわたすならencodeURIComponent()などでurl用のエンコードを
かけてやらないと思った通りにデータがとおらないかもしれませんね
    • good
    • 0

失礼、imgの飛び先はホームページBじゃないんですね。




 function urlset(e){
  var target = e?e.target:event.srcElement;
  if(target.id == "http://192.168.1.111/"){
  var url="";
  target.parentNode.href=encodeURI(url+"?ref="+document.referrer);
  }
 }
ですね、それと<a>は↓みたくしておきます。
<a href="javascript:Void(0);"><img id="hoge" src="hoge.img" alt="hogeへリンク"></a>

この回答への補足

返答ありがとうございます。

よかったらですが、外部javascriptの書き方も是非教えていただきたいです。

補足日時:2010/08/19 18:24
    • good
    • 0

いつも、ホームページAから飛んでくると限らないなら、


javascriptを使って
<script type="text/javascript">

 if('undefined' != typeof document.addEventListener)
  document.addEventListener('click',function(event){urlset(event);},false);
 else if('undefined' != typeof document.attachEvent)
  document.attachEvent('onclick',function(event){urlset(event);});

 function urlset(e){
  var target = e?e.target:event.srcElement;
  if(target.id == "hoge"){
  target.parentNode.href=encodeURI(location.href+"?ref="+document.referrer);
  }
 }

</script>

でどうでしょうか
(全角空白は半角空白にしてください)
    • good
    • 0

javascriptを使用しなくても


 <a href="ttp://192.168.1.111?ref=ttp://192.168.1.110"><img src="○○" alt="××"></a>
みたいにしておくことでもいけるのでは?


HTMLのhref記述は通常のままでjavascriptで処理をするのなら、
ページ全体のクリックを監視して、対象とするリンク要素だったらクエリ部分を追加してジャンプする。
あるいは、
ページロード時に、対象とするリンク要素のhref部分を(↑)のようにクエリ付きに書き換えておく
ことでもできそうですね。

使用するurlがどのようなものか不明ですが、実際にはURIエンコードしておく必要がありそう。
    • good
    • 0
この回答へのお礼

ありがとうございます。
勉強になります。

お礼日時:2010/08/19 18:25

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!