最近为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().match(reg);
if (r != null) return unescape(r[]); return null; }

调用方法

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

方法二,split参数

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

调用方法

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

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

.NET手记-JS获取Url参数的更多相关文章

  1. js获取url参数的方法

    js获取url参数的方法有很多. 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...

  2. get方法与post方法的区别与js获取url参数的方式

    1.get方法与post方法的区别: 区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据:区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于UR ...

  3. js 获取url参数的值

    //获取url参数函数function GetQueryString(name){    var reg = new RegExp("(^|&)"+ name +" ...

  4. js获取url参数,操作url参数

    function getParam(key) { var tmp = location.search; tmp = decodeURIComponent(tmp); var index = tmp.i ...

  5. jquery或js 获取url参数

    <script type="text/javascript"> function getUrlParam(name) { var reg = new RegExp(&q ...

  6. js获取url参数、图片转本地base64跨域问题

    获取url参数是经常需要用的一个方法,url上的参数可以让我们的程序执行更灵活. 图片转本地也是很实用的,因为海报合成通常只支持本地. 下面我们来看看这些功能的实现: 获取所有参数,采用split拆分 ...

  7. js获取url参数的两种方法

    js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.ma ...

  8. JS获取url参数及url编码、解码

    完整的URL由这几个部分构成:scheme://host:port/path?query#fragment ,各部分的取法如下: window.location.href:获取完整url的方法:,即s ...

  9. JS获取Url参数的通用方法

    //获取URL中的参数 function request(paras) { var url = location.href.replace('#', ''); var paraString = url ...

随机推荐

  1. Process 开启子进程 的两种方式、join控制子进程、守护进程

    一.join控制子进程的一种方式 当主进程需要在子进程结束之后结束时,我们需要用到join来控制子进程. import time import random from multiprocessing ...

  2. linux下redis4.0.2集群部署(利用Ruby脚本命令)

    一.原生命令方式和Ruby脚本方式区别 利用Ruby脚本部署和用原生命令部署,节点准备的步骤都是一样的,节点启动后的握手,以及主从.槽分配,利用Ruby脚本一步就能完成,利用原生命令需要一步一步地执行 ...

  3. 大数据入门到精通14--hive 对 字符串的操作

    一.基本操作 concat(string,string,string)concat_ws(string,string,string)select customer_id,concat_ws(" ...

  4. angular分页插件tm.pagination二次触发问题解决歪方案

    今天在学习angularjs的分页插件时遇到了一个前端的问题,谷歌浏览器开发者模式调试的时候发现每次点击分页刷新按钮会触发两次后台请求,ajax向后台发送了两次请求,这对于强迫症患者来说是一个比较恶心 ...

  5. 初学c# -- 纯属无聊,写下棋

    纯属无聊了,会下的棋都做了. 象棋围棋修改用法都一样. 1.先启动服务端 goServer.exe服务端:地址为IPAddress[] addrIP = Dns.GetHostAddresses(&q ...

  6. Moment.js 基本用法

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. spring mvc重定向

    spring mvc重定向有三种方法. 1.return new ModelAndView("redirect:/toUrl"); 其中/toUrlt是你要重定向的url. 2.r ...

  8. 微信小程序之 -----事件

    事件分类      1. 冒泡事件:     当一个组件上的事件被触发后,该事件会向父节点传递.      2. 非冒泡事件:   当一个组件上的事件被触发后,该事件不会向父节点传递.   常见的冒泡 ...

  9. 阮一峰大神的快排?刚才还在纠结sort()的我!真是个小傻瓜

    看到这个标题之后 我毫不犹豫的点进去了 趁现在不忙我赶紧把代码写到了我的小本本上好好研究研究 (写的就不放进来了 有点丑) 研究了下  第一反应 明明能用sort()解决的 为什么非要写这么一大串 但 ...

  10. CentOS_mini下安装docker 之 yum mount

    --->linux 终端输出太多前面看不到的解决办法:shift+page up --->mount命令[-参数] [设备名称] [挂载点] mkdir /mnt/CentOS mount ...