请看这个jsfiddle。
我已经为堆栈流开发了它。现在我只是有一点问题。
如果将被重定向的最终 url 包含?
or &
,那么 应该使用 , 而不是 .. 任何人都可以帮忙addQueryString
。 addQueryString1
对不起罗希特和蒂姆。我认为如果您直接在那里查看代码会更容易。但这是我的代码:
// Plain Javascript
var links = document.getElementsByTagName('a');
for (var i = 0, max = links.length; i < max; i++) {
var _href = links[i].href;
var addQueryString = "?utm_source=tyroo&utm_medium=affiliate&utm_campaign=12june12_20percenteossoffer";
var addQueryString1 = "&utm_source=tyroo&utm_medium=affiliate&utm_campaign=12june12_20percenteossoffer";
if (_href.indexOf('gog.com') !== -1) {
links[i].href = 'http://example.com/lnkurl=' + _href + encodeURIComponent(addQueryString);
}
}
它是用于通过会员网址重定向网页中的会员链接的代码,以便我们从用户发布的链接中赚取佣金。在我的代码中,gog.com 的任何链接都将被重定向为 http://example.com/lnkurl=http://www.gog.com/%3Futm_source%3Dtyroo%26utm_medium%3Daffiliate%26utm_campaign%3D12june12_20percenteossoffer
现在我问你,如果链接是前的,gog.com/test?price=xyz 现在你看到链接本身包含一个?和 = 在里面。因此,根据我的脚本重定向的网址将变为: http ://example.com/lnkurl=http://www.gog.com/test?price=xyz%3Futm_source%3Dtyroo%26utm_medium%3Daffiliate%26utm_campaign%3D12june12_20percenteossoffer
这是行不通的。我想要做的是,如果 url 包含任何?或 & 或 = ,那么它应该使用 addQueryString1 而不是 addQueryString .. 并且如果可能的话,url中的内容从 ? 或 & 也应该被编码..
如果你能的话,请帮忙..谢谢