人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

http://exam.com/user.html?id=1234みたいな感じでアクセスしたとします。http://exam.com/user.html内のすべてのリンクの語尾に1234のidを付与させるやり方を教えてください。
例)http://exam.com/faq.html?id=1234

●質問者: samuchan
●カテゴリ:ウェブ制作
✍キーワード:アクセス リンク
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● takuya32
●0ポイント

ハイパーリンクでURLの語尾に?をつけることですか?これってポータルサイトとかでやる目印だとおもいますよ


2 ● jouno
●30ポイント

javascriptを閲覧者が有効にしていれば、ページの最後に以下のコードをはりつけることで可能です。

ただし、本当に、すべての、リンクに付与されます。


<script>

<!--

var n = document.links.length;

var id = location.search;

//この行でid=の形式のときだけに限定。

if (id.match(/¥?id=.+/i)) {

for(i = 0; i < n; i++){

document.links[i].search = id;

}

//上のコメントの対応する括弧。

}

//-->

</script>


3 ● english
●40ポイント

http://www.parkcity.ne.jp/~chaichan/src/javasc13.htm

このサイトは移動しました

Javascriptによって実現可能です。


<script type=”text/javascript”>

<!--

function transURL(){

var param = location.search;

var url = ””;

for(var i=0;i<document.links.length;i++){

url = document.links[i].href;

if(url.indexOf(”?”) != -1){

//変更されるリンクのURLに「?」が既にあるなら、自動

//付加するパラメータは「&?」にします。

param = param.replace(/¥?/,”&”);

}

document.links[i].href = url + param;

}

}

//-->

</script>


を<head>と</head>の間に入れます。


また、Bodyタグに

<BODY BGCOLOR=”#ffffff” onLoad=”transURL();”>


のように「onLoad=?」を追加します。


これにより、一度ページロード後、全てのリンク先のURLの末尾にパラメータが自動付与されます。


※なお、hatenaのシステムの都合により、ダブルクォテーションが全角文字に変換されているかもしれませんが、適宜半角に変更して読み替えてください。


document.linksオブジェクトの活用とlocation.searchの処理がポイントかと思います。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ