• 締切済み

javascriptの勉強中しはじめたばかりでわからないとこがあったの

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)して、 次のページへいくのにはどのようにすればいいか教えてください。 よろしくお願いします。

みんなの回答

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.4

リファラを別のページにパラメータとしてわたすということは サーバー側でパラメータを利用することを想定していますよね? で、あればリファラをセッションで次のページに渡してやるのが妥当でしょう。 なおjavascriptでわたすならencodeURIComponent()などでurl用のエンコードを かけてやらないと思った通りにデータがとおらないかもしれませんね

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.3

失礼、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>

bats2
質問者

補足

返答ありがとうございます。 よかったらですが、外部javascriptの書き方も是非教えていただきたいです。

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

いつも、ホームページ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> でどうでしょうか (全角空白は半角空白にしてください)

  • fujillin
  • ベストアンサー率61% (1594/2576)
回答No.1

javascriptを使用しなくても  <a href="ttp://192.168.1.111?ref=ttp://192.168.1.110"><img src="○○" alt="××"></a> みたいにしておくことでもいけるのでは? HTMLのhref記述は通常のままでjavascriptで処理をするのなら、 ページ全体のクリックを監視して、対象とするリンク要素だったらクエリ部分を追加してジャンプする。 あるいは、 ページロード時に、対象とするリンク要素のhref部分を(↑)のようにクエリ付きに書き換えておく ことでもできそうですね。 使用するurlがどのようなものか不明ですが、実際にはURIエンコードしておく必要がありそう。

bats2
質問者

お礼

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

関連するQ&A