javascript 获取url参数和script标签中获取url参数函数代码

 更新时间:2010年01月22日 09:07:59   作者:  
不要在方法中调用方法,否则可能始终获取的是最后一个js的文件的参数,要在方法中使用,请先用变量保存,在方法中直接获取
url paramter:
复制代码 代码如下:

//lastest:
var getArgs=function() {//get url querystring
var params=document.location.search,reg=/(?:^\?|&)(.*?)=(.*?)(?=&|$)/g,temp,args={};
while((temp=reg.exec(params))!=null) args[temp[1]]=decodeURIComponent(temp[2]);
return args;
};
//只取一个:
var queryString=function(key){
return (document.location.search.match(new RegExp("(?:^\\?|&)"+key+"=(.*?)(?=&|$)"))||['',null])[1];
}
var args=getArgs();
alert(args.name+" | "+args.sex+" | "+args.age);
//测试链接:<a href="?name=abc&sex=男&age=12">test getQueryString</a>




script paramter:
复制代码 代码如下:

var getScriptArgs=function(){//获取多个参数
var scripts=document.getElementsByTagName("script"),
script=scripts[scripts.length-1],//因为当前dom加载时后面的script标签还未加载,所以最后一个就是当前的script
src=script.src,
reg=/(?:\?|&)(.*?)=(.*?)(?=&|$)/g,
temp,res={};
while((temp=reg.exec(src))!=null) res[temp[1]]=decodeURIComponent(temp[2]);
return res;
};
var args=getScriptArgs();
alert(args.a+" | "+args.b+" | "+args.c);
//假如上面的js是在这个js1.js的脚本中<script type="text/javascript" src="js1.js?a=abc&b=汉字&c=123"></script>

var getScriptArg=function(key){//获取单个参数
var scripts=document.getElementsByTagName("script"),
script=scripts[scripts.length-1],
src=script.src;
return (src.match(new RegExp("(?:\\?|&)"+key+"=(.*?)(?=&|$)"))||['',null])[1];
};
alert(getScriptArg("c"));

ps:不要在方法中调用方法,否则可能始终获取的是最后一个js的文件的参数,要在方法中使用,请先用变量保存,在方法中直接获取

相关文章

  • javascript 单例模式详解及简单实例

    javascript 单例模式详解及简单实例

    这篇文章主要介绍了javascript 单例模式详解及简单实例的相关资料,需要的朋友可以参考下
    2017-02-02
  • JS实现的JSON序列化操作简单示例

    JS实现的JSON序列化操作简单示例

    这篇文章主要介绍了JS实现的JSON序列化操作,结合简单实例形式分析了json序列化操作相关实现方法与相关注意事项,代码备有较为详尽的注释便于理解,需要的朋友可以参考下
    2018-07-07
  • 如何利用JavaScript读取excel文件并绘制echarts图形

    如何利用JavaScript读取excel文件并绘制echarts图形

    这篇文章主要介绍了如何利用JavaScript读取excel文件并绘制echarts图形,文章通过excel财务报表,并且需要根据这张excel表绘制成各种echarts图形,需要了解更多详情的小伙伴可以参考一下文章内内容
    2022-05-05
  • vite打包优化vite-plugin-compression的使用示例详解

    vite打包优化vite-plugin-compression的使用示例详解

    这篇文章主要介绍了vite打包优化vite-plugin-compression的使用,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-09-09
  • JS实现的用来对比两个用指定分隔符分割的字符串是否相同

    JS实现的用来对比两个用指定分隔符分割的字符串是否相同

    这篇文章主要介绍了JS实现的用来对比两个用指定分隔符分割的字符串是否相同,本文代码为特殊需要而写,需要的朋友可以参考下
    2014-09-09
  • js实现无缝滚动特效

    js实现无缝滚动特效

    这篇文章主要介绍了js实现无缝滚动特效,结合已学知识进行扩展性练习,感兴趣的朋友可以参考一下
    2015-12-12
  • 基于casperjs和resemble.js实现一个像素对比服务详解

    基于casperjs和resemble.js实现一个像素对比服务详解

    这篇文章主要给大家介绍了关于基于casperjs和resemble.js实现一个像素对比服务的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧。
    2018-01-01
  • 异步javascript的原理和实现技巧介绍

    异步javascript的原理和实现技巧介绍

    因为工作的需要,我要在网页端编写一段脚本,把数据通过网页批量提交到系统中去。所以我就想到了Greasemonkey插件,于是就开始动手写,发现问题解决得很顺利
    2012-11-11
  • 炫酷的js手风琴效果

    炫酷的js手风琴效果

    既然JQ和JS都能实现那么炫酷的效果,我们用CSS3能不能做出手风琴效果的书签来呢?这篇文章主要为大家分享了炫酷的手风琴效果实现方式,感兴趣的小伙伴们可以参考一下
    2016-10-10
  • js类式继承与原型式继承详解

    js类式继承与原型式继承详解

    这篇文章主要为大家详细介绍了js类式继承与原型式继承,感兴趣的小伙伴们可以参考一下
    2016-04-04

最新评论