2011-11-08 9 views
1

ユーザーがこのページにリンクできる場合は、たとえば というURLから変数を取得しようとしています。www.example.com?var1=blabla&var2=blabla このサイトには多くのリンクがありますwww.example.com。 私がしたいことは、私のユーザーがクリックしていない問題であり、彼らは常に彼らは例えば、このリンクからwww.example.com?var1=blabla&var2=blabla を得た2つの変数を付加したリンクが表示されます。www.example.com?var1=blabla&var2=blablaURLから変数の値を取得し、サイト全体のすべてのリンクに渡す方法は?

<a href="www.example.com/page1.php"/>Go to page1</a> 

別のリンクがある場合、彼らが行きますページwww.example.com/page1.php?var1=blabla&var2=blablaへ。
これは私のコードです:

<script type="text/javascript"> 
$(document).ready(function() { 
    var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1); 
    var links = $('a'); 
    links.each(function(){ 
    var curLink=$(this); 
    var href = curLink.attr('href'); 
    var newhref = href +'?'+ hashes; 
    curLink.attr('href',newhref); 
    }); 
}); 
</script> 

私の質問は:私は、同じページ上のすべてのリンクは、これらの2変数を追加することができます。ユーザーが別のページに移動すると、スクリプトがないので同じことはしませんが、すべてのページに同じスクリプトを追加することはできません... もう1つの質問、私はクリアしたいです疑問符の後のものと新しいものを追加することは可能ですか?

ありがとうございます!

+0

あるページに、別のページにGET/POSTする必要があるフォームが含まれている場合(おそらく、これらのGETパラメータは、最初にフォームに由来します)には何も起こりません。このオプションがある場合は、クライアントに依存するのではなく、サーバー側のセッションオブジェクトでこれらの永続変数を取得して取得することができます。 – tomfumb

+0

@tomfumb - いいえ、彼はどこでフォームを使用していたと言いましたか?私は彼がリンクを修正しようとしていることだけを伝えることができます。これはサーバーサイドで最もよく解決されるとのことだが、私は彼がアクセス権を持っていないと感じていたし、スクリプトをすべてのページに追加できると思った。だから、それに入る価値はありませんでした。 – mrtsherman

+0

@mrtshermanそれは私が 'if'と言った理由です:嫌悪感を覚えていないと、OPの明らかな不慣れで、パラメータやURLを扱うことができますが、サイトにはフォームが含まれていても、価値があると言及する価値がある – tomfumb

答えて

1

あなたのコードはよかったです。あなたの質問から、あなたの問題はこの外にあるように見えます。

私の質問は次のとおりです。同じページのすべてのリンクに、これら2つの変数を追加することができます。 ユーザーが別のページに行けば、それには何のスクリプトが存在しないので、それは、 同じことを行うことはありません...しかし、私はすべてのページに同じ スクリプトを追加することはできません...

の場合すべてのページでスクリプトを実行することはできません。その後、URLを変更することはできません。あなたはそれをサーバー側で行う必要があります。あなたはそれをサーバー側で行うことができない場合、あなたは運がありません。

もう1つの質問は、疑問符 の後のものをクリアして新しいものを追加したいと思います。

はい、確かに可能です。クエリ文字列を削除するには、次のコードを使用します。

var strippedHREF = window.location.href.substring(0, window.location.href.indexOf('?')); 
関連する問題