Я хочу прикрепить пользовательские идентификаторы к ссылкам на основе строки запроса , и я нашел этот очень полезный пост Грегори (пожалуйста, посмотрите на негополучить некоторый контекст).
Я пытаюсь достичь , если я захожу на www.mydomain.com, мне требуется добавить значение по умолчанию к ссылке на веб-странице,пример: www.ramdomdomain.com?myID1=default_value
Я думаю, что-то должно быть отредактировано после строки if(hrefvalue==null)
в коде, но я не могу понять, как это сделать.Пожалуйста, помогите мне.Вот код, который я использую:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script>
<script type="text/javascript">
function getHrefValue(key,url){
var query=new RegExp("[\\?&]"+(key.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]"))+"=([^&#]*)").exec(url);
return (query==null)?null:query[1];
}
function matchHrefs(){
var config={
'myid1':["#topnav a[href^='http://www.domain.com']"],
'myid2':["#topnav a[href^='http://www.domain.com']"]
}
for(var current in config){
var myvalue=getHrefValue(current,location.search);
if(myvalue!=null&&myvalue!=""){
$(config[current].join(',')).each(function(){
var href=$(this).attr('href');
var hrefvalue=getHrefValue(current,href);
if(hrefvalue==null){
var href_split=href.split('#');
$(this).attr('href',href_split[0]+(href_split[0].indexOf('?')>-1?'&':'?')+current+'='+myvalue+(typeof(href_split[1])!="undefined"?'#'+href_split[1]:''));
$(this).addClass('selected selected-'+current);
}
if(hrefvalue==""){
$(this).attr('href',href.replace(current+'=',current+'='+myvalue));
$(this).addClass('selected selected-'+current);
}
});
}
}
}
$(function(){matchHrefs();});
</script>
<div id="topnav"><a href="http://www.domain.com/" target="_blank">Random domain</a></div>