zoukankan      html  css  js  c++  java
  • .NET手记-JS获取Url参数

    最近为App做活动专区,其中很多活动都是采用html 5页面来制作的。一方面体量较小,制作快速,更新维护容易;另一方面,嵌入App后适配效果也不会很差。

    这里我们采用混编形式来从native app传参给web页面,我们采用的思路与主流的js与oc/java互调不同,主要通过Url传递参数。简单的说,就是通过Url拼串,将必要的参数传递给web页面,这样就免去了登录的流程,如下:

    那么接下来讨论的就是如何使得html页面获取Url参数,最简单的办法就是直接通过JS来获取,这里我采用jquery,这里根据找到的信息,列出了以下两种种写法:

    方法一,正则表达式匹配

    $.getUrlParam = function (name) {
                var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
                var r = window.location.search.substr(1).match(reg);
                if (r != null) return unescape(r[2]); return null;
    
            }

    调用方法

    var logo = $.getUrlParam("logo");

    方法二,split参数

    $.getQueryParameters = function () {
                var url = window.location.search;
                var parameters = new Object();
                if (url.indexOf("?") != -1) {
                    var query = url.substr(1);
                    var ary = query.split("&");
                    for (var i = 0; i < ary.length; i++) {
                        var keyValuePair = ary[i].split("=");
                        parameters[keyValuePair[0]] = unescape(keyValuePair[1]);
                    }
                }
                return parameters;
            }

    调用方法

    var querys = $.getQueryParameters();
    var name = querys["name"];

    其中要注意的是,iOS需要手动将Url参数转成unicode编码,不然会一直访问页面失败。 

  • 相关阅读:
    安装MeeGo
    一、Android uevent架构
    android键盘映射(转)
    【转】密码学 :CSP的概念
    【原创翻译】链接DLL至可执行文件翻译自MSDN
    【转】c语言中的定义和声明
    Windows:32位程序运行在64位系统上注册表会重定向
    Wow64
    VS2008 ActiveX(ocx控件)的调试工具ActiveX Control Test Container安装说明
    小写bool和大写BOOL的区别
  • 原文地址:https://www.cnblogs.com/mantgh/p/5151018.html
Copyright © 2011-2022 走看看