第1053天:js改变地址栏参数值,mapbar api 信息窗口的一个莫名其妙的问题

星期五 阴转多云 11~20℃

js改变地址栏参数

(一)

function orderby(searchname,searchv){
 var href = window.location.href;//网址全部地址
 var vyes = window.location.search;//有没有带参数
 if (vyes != ”) {
  var r, rtop, rend;
  r = vyes.search(searchname);//出现的位置
  if (r != -1) {//如果查询中有这个查询名
   rtop = vyes.substr(0,r);
   rend = vyes.substr(r);
   var r2 = rend.search(‘&’);
   if (r2 != -1) {
    rend = rend.substr(r2);
    //alert(rtop+searchname+’='+searchv+rend);
    now_href = window.location.pathname + rtop + searchname + ‘=’ + searchv + rend;
   } else {//如果后面没有&了.
    now_href = window.location.pathname + rtop + searchname + ‘=’ + searchv;
   }
  } else {//如果没有这个查询名
   now_href = href + ‘&’ + searchname + ‘=’ + searchv;
  }
 } else {
  now_href = href + ‘?’ + searchname + ‘=’ + searchv;
 }
 //如果参数的值(searchv)为空,则删除该参数,调用 例:orderby("valname", "");
 if (searchv == "") {
  var nr, nrtop, nrend;
  nr = now_href.indexOf(searchname);
  if (nr != -1) {
   nrtop = now_href.substr(0,nr);
   nrend = now_href.substr(nr);
   var nr2 = nrend.search(‘&’);
   if (nr2 != -1) {
    nrend = nrend.substr(nr2+1);
    now_href = nrtop + nrend;
   } else {//如果后面没有&了.
    nrtop = now_href.substr(0,nr-1);
    now_href = nrtop;
   }
  }
 }
 //alert(now_href);
 location = now_href;
}

参考:http://hi.baidu.com/feige05/blog/item/6dd520b72845b0f730add127.html

注意:在调用时不要使用 href="javascript:void(0)",在 ie 下无效。

(二)

function changeURLPar(destiny, par, par_value){
 var pattern = par+’=([^&]*)’;
 var replaceText = par+’='+par_value;
 if (destiny.match(pattern)){
  var tmp = ‘/\\’+par+’=[^&]*/’;
  tmp = destiny.replace(eval(tmp), replaceText);
  return (tmp);
 }else{
  if (destiny.match(‘[\?]‘)){
   return destiny+’&’+ replaceText;
  }else{
   return destiny+’?'+replaceText;
  }
 }
 return destiny+’ ‘+par+’ ‘+par_value;
}
alert(changeURLPar("http://xxx.com/view.php?do=tag&id=1", ‘id’, 99));

来自:
changeURLPar
http://HI.BAIDU.com/crp8/blog/item/4d568013b7c89d856438db67.html


mapbar api 信息窗口的一个莫名其妙的问题

此问题在 chrome 下出现。在下面代码的最末尾</span>后面要加一个空格,否则信息窗口的宽度和高度无效。排查了许久才排查出来,原来问题出在这么个不起眼的地方。

new MInfoWindow("<b style=’margin-left:3px’>$blog[subject]</b>", "<span style=’margin-left:3px’>$blog[address]</span> ")


友吧今天

  1. 场馆列表页增加地图伸缩功能(使用地图API的 resize(width, height) 方法)。
     
  2. 场馆详细页放大地图由 iframe 改成 js。(2011-04-12 更新:发现用 js 来处理会有一些问题,所以仍然使用 iframe)

 

RSS

上一篇:

下一篇:

发表评论

电子邮件地址不会被公开。 必填项已用*标注