首页 新闻 搜索 专区 学院

获得js文件后面的参数

0
悬赏园豆:5 [已解决问题] 解决于 2012-09-01 10:29

我需要做这样一个功能,比方说,我引用一个JS文件, <script src="http://www.baidu.com/main.js?id=201&classid=398"></script>

我这样该如何得到JS传参后面的id和classid呢?

路过春秋的主页 路过春秋 | 初学一级 | 园豆:10
提问于:2012-09-01 09:17
< >
分享
最佳答案
0

你是要在main.js里获取参数呢,还是在引用main.js的页面获取?

前者你在后台处理获取参数后再输出JS内容。

后者:

(/.*id=(\d+)&classid=(\d+)/gi).exec($("xxx").attr("src"));

var id=RegExp.$1;

var classId=RegExp.$2;

收获园豆:5
向往-SONG | 老鸟四级 |园豆:4853 | 2012-09-01 09:57

谢谢你,我自己看了lhgdialog的写法,最后解决了。我是想在当前js里面获得当前js?路径后面传的参数。

// JavaScript Document
/*!
 * urlParameters 获取js文件后的url参数组,如:test.js?id=1&classid=2中的?后面的内容
 */
urlParameters = (function(script){
    var l = script.length;
 for(var i = 0; i < l; i++){
  me = !!document.querySelector ? script[i].src : script[i].getAttribute('src',4);
  if( me.substr(me.lastIndexOf('/')).indexOf('menu_hover') !== -1 ){
      break;
  }
 }
 return me.split('?')[1];
})(document.getElementsByTagName('script'))

/*!
 * 获取url参数值函数
 */
GetParameters = function ( name ){
    if( urlParameters && urlParameters.indexOf('&') > 0 ){
     var parame = urlParameters.split('&'), i = 0, l = parame.length, arr;
  for(var i=0 ; i < l; i++ ){
      arr = parame[i].split('=');
   if( name === arr[0] ){
    return arr[1];
   }
  }
 }
 return null;
}

路过春秋 | 园豆:10 (初学一级) | 2012-09-01 10:28

@路过春秋: //alert(GetParameters('id'));

路过春秋 | 园豆:10 (初学一级) | 2012-09-01 10:30
其他回答(1)
0
<script type="text/javascript" language="javascript">
function aa(id,classid)
{
//主要是看你需要实现什么功能了 代码像这样类似的
var url; 
 url="AddCode.aspx?id="+id+"&classid="+classid;
}
</script>
doubledu | 园豆:199 (初学一级) | 2012-09-01 09:25

@路过春秋: 谢谢,参照了人家写的,自己解决了。

支持(0) 反对(0) 路过春秋 | 园豆:10 (初学一级) | 2012-09-01 10:31
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册