.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().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参数的更多相关文章
- js获取url参数的方法
js获取url参数的方法有很多. 1.正则分析 function getQueryString(name) { var reg = new RegExp("(^|&)" + ...
- get方法与post方法的区别与js获取url参数的方式
1.get方法与post方法的区别: 区别一:get重点在从服务器上获取资源,post重点在向服务器发送数据:区别二:get传输数据是通过URL请求,以field(字段)= value的形式,置于UR ...
- js 获取url参数的值
//获取url参数函数function GetQueryString(name){ var reg = new RegExp("(^|&)"+ name +" ...
- js获取url参数,操作url参数
function getParam(key) { var tmp = location.search; tmp = decodeURIComponent(tmp); var index = tmp.i ...
- jquery或js 获取url参数
<script type="text/javascript"> function getUrlParam(name) { var reg = new RegExp(&q ...
- js获取url参数、图片转本地base64跨域问题
获取url参数是经常需要用的一个方法,url上的参数可以让我们的程序执行更灵活. 图片转本地也是很实用的,因为海报合成通常只支持本地. 下面我们来看看这些功能的实现: 获取所有参数,采用split拆分 ...
- js获取url参数的两种方法
js获取参数,在以前我都是用正在去拆分,然后获取,这种方式感觉是最简单的 方式1: function QueryString(item) { var sValue=location.search.ma ...
- JS获取url参数及url编码、解码
完整的URL由这几个部分构成:scheme://host:port/path?query#fragment ,各部分的取法如下: window.location.href:获取完整url的方法:,即s ...
- JS获取Url参数的通用方法
//获取URL中的参数 function request(paras) { var url = location.href.replace('#', ''); var paraString = url ...
随机推荐
- 微信小程序---setData
data:{ obj:{ name:'hello' } } 对data中obj的name字段进行重新赋值. onLoad: function (option) { var value = 'obj.n ...
- mysql_day02
MySQL-Day01回顾1.MySQL的特点 1.关系型数据库 2.跨平台 3.支持多种编程语言2.MySQL的启动和连接 1.服务端启动 sudo /etc/init.d/mysql start| ...
- Kb和KB的区别
- IO高级应用关于字符码表
ASCII码表: 计算机里只有数字,我在计算机软件里的一切都是用数字来表示,屏幕上显示的一个个字符也不例外.计算机诞生在美国,最开始所用到字符就是我们现在键盘上的一些符号和少数几个特殊的符号,每一个字 ...
- 网页屏蔽f12、右键菜单等操作
1.屏蔽f12 document.onkeydown = function(){ if(window.event && window.event.keyCode == 123) { a ...
- 音频音乐播放 Service
界面效果: 界面就一个播放的Button和一个进度条SeekBar,也可以自己加上两个显示时间的TextView: 点击播放时,有音乐声音,进度条也会自动更新,Button文字变成暂停 ...
- java 期末考试复习
//Scanner这样写? Scanner input = new Scanner(System.in); //不断获得下一个单词 names[i] = toTitleCase(input.nex ...
- php base64上传图片
php实现base64图片上传方式 本例子中没有采用File Post上传文件方式!原理一样,为了更加的理解base64 选择将其输出在文本域中,并提交至服务器!运用到项目中建议采用提交File方式. ...
- 接口测试3A原则
手工的功能测试用例也可以用3A原则来编写. Arrange: 准备被测功能相关的测试数据,比如往系统里录入一批工单以便测试工单的分页功能 Act : 调用被测的功能,实际上这就是我们一直讲的测试步骤 ...
- oracle 区分大小写遇到的坑
1. oracle 字段是区分大小写的 ..在navicat 中使用查询 select REMAIN_PRINCIPAl from T_NF_PROJECT; navicat 默认会把 REMA ...