2012-11-07 125 views
0

請參閱本jsfiddle.如果?在重定向URL找到,然後更改URL

我有它stackflow只開發了.. 現在我只與它一點點問題。

如果將被重定向最終URL包括?或它&,然後代替addQueryString,​​應使用.. 誰能幫助請。

對不起羅希和蒂姆。我認爲如果你直接在那裏看到代碼會更容易。但這裏是我的代碼:

// 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); 
     }  
    } 
​ 

這是重定向通過加盟URL的網頁中找到讓我們從用戶發佈的鏈接賺取佣金會員鏈接代碼。 在我的代碼,gog.com的任何鏈接將被重定向爲http://example.com/lnkurl=http://www.gog.com/%3Futm_source%3Dtyroo%26utm_medium%3Daffiliate%26utm_campaign%3D12june12_20percenteossoffer

現在我問你guyz,如果鏈接指向前,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中的內容從?或&也應進行編碼..

請幫助,如果你guyz可以..感謝

+1

首先出現的是在您的文章沒有URL。其次,請在這裏發佈代碼,而不是發佈網址。 –

+1

你的問題不清楚。你的代碼應該在這裏發佈,而不是在jsfiddle上。您的代碼似乎是JavaScript,而不是Java。 – Tim

回答

0

我認爲你正在尋找一個JavaScript的解決方案。如果是的話,你可以按照這個

if(url.indexOf("?") != -1) 
{ 
    //? is present 
} else { 
    //? is not present 
} 

同爲&