URL文字列の送信リンクにリンクトラッキングを追加します。URL文字列は、ページ上で宣言されたグローバル変数に基づいていますが、異なる値。たとえば、以下のサンプルでは、掲載し、ビング、ダックダックゴー、とYahooのためのすべてのリンクは、このような、値を「webcampaign」を追加する必要があります。1つのリンクにのみURL文字列変数を変更する
http://www.ask.com/?group=&placement=webcampaign
http://www.bing.com/?group=&placement=webcampaign
http://www.duckduckgo.com/?group=&placement=webcampaign
http://www.yahoo.com/?group=&placement=webcampaign
はしかし、我々は、Googleが読む必要がありますこのように:
http://www.google.com/?group=&placement=defLink
ここに挑戦しています。 Googleのリンクが他のリンクと異なるようにJavaScriptを変更するにはどうすればよいですか?ここで
<html>
<head>
<title>Dynamic Link Test</title>
<script>
var placement = "webcampaign";
</script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>
<script src="globalscripts_plain.js"></script>
</head>
<body>
<p><a href="http://www.ask.com">Ask</a></p>
<p><a href="http://www.bing.com">Bing</a></p>
<p><a href="http://www.duckduckgo.com">Duck Duck Go</a>
<p><a href="http://www.google.com" id="defLink">Google</a></p>
<p><a href="http://www.yahoo.com">Yahoo!</a></p>
</body>
</html>
マークアップの先頭で宣言された配置の変数、各リンクを追加スクリプトは次のとおりです:
ここではすべてのリンクが同じURL文字列付属しています簡単な例です
(function($, undefined) {
var App = (window.App || (window.App = {}));
$.extend(App,{
getParameterByName : function (name) {},
});
$(function() {
$('a[href^="http"]').each(function() {
var $a = $(this),
q = $a.attr('href') ? $a.attr('href').indexOf('?') : -1,
contents = $a.html();
if (q == -1) {
$a.attr('href', $a.attr('href') + '?group=' + '&placement=' + placement);
} else {
$a.attr('href', $a.attr('href') + '&group=' + '&placement=' + placement);
}
});
});
})(window.jQuery);
JSFiddleリンク:https://jsfiddle.net/Codewalker/v92L8pbw/1/このコードは継承され、かつ1オフの修正であるように思われているので
あなたはjQueryのはとにかくリンクが異なるようにするにはそのすべてを行うだろう。ちょうどそれらをHTMLで変更してください。 jQueryを使用する必要がある場合は、 '.attr( 'href')'に対して 'RegExp'を使用するだけです。 – PHPglue