`
loyalbluer
  • 浏览: 41417 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

js模拟参数传递

阅读更多
var args={};
	
	var getArgs = function(){
        var sc=document.getElementsByTagName('script');
        var paramsArr=sc[sc.length-1].src.split('?')[1].split('&');
        var argsStr=[],param,t,name,value;
        for(var i=0,len=paramsArr.length;i<len;i++){
                param=paramsArr[i].split('=');
                name=param[0],value=param[1];
                if(typeof args[name]=="undefined"){ //参数尚不存在
                    args[name]=value;
                }else if(typeof args[name]=="string"){ //参数已经存在则保存为数组
                    args[name]=[args[name]]
                    args[name].push(value);
                }else{  //已经是数组的
                    args[name].push(value);
                }
        }
        /*在实际应用中下面的showArg 和args.toString可以删掉,这里只是为了测试函数getArgs返回的内容*/
        var showArg=function(x){   //转换不同数据的显示方式
            if(typeof(x)=="string"&&!/\d+/.test(x)) return "'"+x+"'";   //字符串
            if(x instanceof Array) return "["+x+"]" //数组
            return x;   //数字
        }
        //组装成json格式
        args.toString=function(){
            for(var i in args) argsStr.push(i+':'+showArg(args[i]));
            return '{'+argsStr.join(',')+'}';
        }
        return function(){return args;} //以json格式返回获取的所有参数
    }
	
	args = getArgs();

// 获取参数
		var parentEl = isUndefined(args["parentEl"]);
		var _defaultUnitId = isUndefined(args["defaultUnitId"]);
		var _isTop = isUndefined(args["isTop"]);
		var _bizTypeKey = isUndefined(args["bizTypeKey"]);
		var _actionBtnId =  isUndefined(args["actionBtnId"]);
		var _chooseRoot = isUndefined(args["chooseRoot"]);
		var _bizUnitId = isUndefined(args["bizUnitId"]);
		var _bizUnitTitle = isUndefined(args["bizUnitTitle"]);
分享到:
评论

相关推荐

    js提交form表单,并传递参数的实现方法

    //增加的函数 begin function queryFun(){ var type = $("#artType").val(); var hasInputed = "1";//表示输入了要搜索 的信息 if($("#query").val()=="选手姓名/编号"){ //表示没有输入要搜索的值 ...

    基于MFC的ActiveX控件开发(JS传递变量数据给控件)

    在本主题“基于MFC的ActiveX控件开发(JS传递变量数据给控件)”中,我们将探讨如何使用MFC创建一个ActiveX控件,并通过JavaScript与网页进行交互,传递变量数据。 首先,你需要安装Visual Studio 2010或更高版本,...

    js,模拟表单提交

    再有一些时候我们不得不[removed] = url带参进行一些数据的传递,这时我们又不想将参数就这样放在链接中时,就可以用到这个js。

    Kettle循环遍历结果集作为参数传入转换.zip

    本主题聚焦于如何在Kettle中使用循环遍历结果集,并将这些结果作为参数传递到不同的转换中。在"Kettle循环遍历结果集作为参数传入转换.zip"的示例中,我们将探讨这个具体的操作流程和相关知识点。 首先,我们需要...

    MockDate:一个JavaScript模拟日期对象,当“ now”为

    一个JavaScript模拟日期对象,可以在“ now”为“ now”时进行更改。 安装 npm install mockdate --save-dev 环境支援 MockDate已在Node,IE9 +,Chrome,Firefox和Opera中进行了测试。 用法 import MockDate from ...

    window.open()实现post传递参数

    这种方法虽然能解决POST传递参数的问题,但也有一些限制,比如它依赖于JavaScript,如果用户禁用了JavaScript,那么这个功能将无法正常工作。另外,这种方式并不适合进行异步请求,因为它会立即加载新的页面,而不是...

    模拟用户单击事件demo

    1. **页面跳转与URL参数传递**: - 当我们在网页上进行操作,如从A页面跳转到B页面,有时需要携带一些信息。这些信息可以通过URL参数传递。例如,A页面的链接可能是`...

    js的form表单提交url传参数(包含+等特殊字符)的两种解决方法

    这种方法通过JavaScript动态创建一个form元素,将需要提交的参数值编码后加入到表单的action属性中,然后模拟form的提交行为。示例代码如下: ```javascript linkredwin=function(A,B,C,D,E,F,G){ var formredwin=...

    c#模拟浏览器请求

    在实际应用中,你可能还需要处理身份验证、cookies、重定向等问题,这可以通过设置`HttpClientHandler`实例并传递给`HttpClient`构造函数来实现。同时,为避免过多的并发请求,可以使用`SemaphoreSlim`来限制同一...

    JavaScript函数的命名参数,另一种方法

    这个主题,"JavaScript函数的命名参数,另一种方法",探讨的是如何在JavaScript中模拟命名参数的机制,以提高代码的可读性和可维护性。 在传统的JavaScript函数调用中,参数是以位置为基础的,这意味着每个参数的...

    JS模拟实现方法重载示例

    在新的JavaScript环境中,使用函数参数默认值、rest参数(...)和解构赋值等特性,可以更加优雅和安全地处理多参数情况,而且可读性更好。 在现代JavaScript中,我们可以这样实现类似的逻辑: ```javascript ...

    mgGlitch.js-模拟显示故障的jQuery插件

    3. **初始化插件**:调用mgGlitch.js插件,并传递必要的参数。例如,`$("#myImage").mgGlitch()`可以初始化该插件。你可以根据需求调整参数,以控制故障效果的强度、频率等。 4. **参数设置**:mgGlitch.js可能包含...

    java模拟js高阶函数

    这样,`MyFunction`就是一个实现了特定功能的Java函数对象,可以作为参数传递给其他方法。 其次,Java 8引入了Lambda表达式,使得编写匿名函数更加简洁。对于上述的`Function`接口,我们可以用Lambda表达式这样表示...

    jq写的模拟elementui的select

    3. **选项数据**:需要有一个数据结构来存储所有的选项,可以通过`obj`参数传递进来。 4. **交互**:使用jQuery监听点击事件,实现下拉菜单的展开和收起,以及选项的点击事件。 5. **搜索功能**:如果ElementUI ...

    httpUnit的应用模拟登录一个网站

    - 遍历`Sheet`的行,获取用户名和密码,将其作为登录参数传递给HttpUnit。 3. **模拟登录流程**: - 初始化`WebConversation`和`WebClient`。 - 获取登录页面,解析页面以找到登录表单。 - 使用`jxl`读取Excel...

    1+X认证Web前端开发中级模拟题.docx

    1.+X认证Web前端开发中级模拟题知识点总结 HTML和CSS * HTML中文字粗体的标记除了使用 `&lt;strong&gt;` 外,还可以使用 `&lt;b&gt;` * 在HTML中,用于播放视频与音频文件的元素是 `&lt;video&gt;` 和 `&lt;audio&gt;` * 使用媒体查询时,...

    JS模拟自动点击的简单实例

    - **param1, param2, ...**:可选参数,传递给函数的参数。 ##### 2. `window.location.reload()` `window.location.reload()` 方法用于重新加载当前文档。这是一个非常简单的方法,可以用来刷新页面或某个`iframe`...

    js设置function参数默认值(适合没有传参情况)

    在文件描述中提到,作者在开发一个div+css模拟js信息框的类库时,需要处理标题参数在未传递时使用默认的提示信息作为窗口标题。对于这种情况,可以这样定义函数: ```javascript function messageBox(title = "提示...

    JS模拟面向对象全解(一、类型及传递)

    在JavaScript中,参数传递通常被认为是按值传递,但这个概念对于基本数据类型和对象类型有所不同。对于基本数据类型,当函数接收到参数时,会创建该值的一个副本。这意味着函数内部对参数的修改不会影响到外部的变量...

    精解window.setTimeout()&amp;window.setInterval()使用方式与参数传递问题!

    但是,由于这两个方法运行在一个由脚本宿主模拟出来的Timer线程中,因此在调用函数时存在参数传递的限制问题。本文将详细讲解window.setTimeout()和window.setInterval()的使用方式,并着重分析在不同场景下的参数...

Global site tag (gtag.js) - Google Analytics