1、在项目info.plist中添加URL Types以供html调用

2.html代码

<html>
<head lang="en">
<meta charset="UTF-8">
<title>支付页面</title> </head> <script type="text/javascript"> var url = location.search; //获取url中"?"符后的字串
var typestr="";
//截取参数 url=xxxx?type=1
if (url.indexOf("?") != -1) {
typestr = url.split("type=")[1];
} //支付宝
if(typestr==1){
//支付宝调起应用
window.load=AliPay();
}
else if(typestr==2){
//微信调起应用
window.load=Weixin();
} //支付宝调起应用,向应用传参数,0表示不做任何操作,1表示为支付宝调起的app,2表示为微信调起的app
function AliPay(){
if(confirm("是否打开支付宝?")){//点击了确定
document.location = "XXXXFromHtml://type:1";
}
else{//点击了取消后返回应用
document.location = "XXXXFromHtml://type:0";
}
} //微信调起应用
function Weixinclick(){
if(confirm("是否打开微信?")){//点击了确定
document.location = "XXXXFromHtml://type:2";
}
else{//点击了取消
document.location = "XXXXFromHtml://type:0";
}
} </script>
<body>
</body>
</html>

3.客户端代码

- (BOOL)application:(UIApplication )application openURL:(NSURL )url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{}

//打开外部链接回调
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { //网页调起app外面链接url type
NSString *string =url.absoluteString;
if ([string hasPrefix:@"xxxxfromhtml://"]) {
//截取html传递的参数类型
NSString *type=[[string pathComponents] lastObject];
NSString *typeStr = [[type componentsSeparatedByString:@":"]lastObject];
NSInteger apptype = [typeStr integerValue];
// DebugLog(@"%@",array);
BaseNavigationController *nav=(BaseNavigationController*)self.window.rootViewController;
//当前离开应用的控制器
if ([[nav.childViewControllers lastObject] isKindOfClass:[XXXXPayViewController class]]) {
//从网页调起app,不会调用充值界面方法,需手动调用
XXXXPayViewController *scoreVC=[nav.childViewControllers lastObject];
//在内部调用支付的应用跳转
[scoreVC fromWebHtmlWithType:apptype];
}
return YES;
}
}

iOS中html打开APP传参的更多相关文章

  1. js中使用进行字符串传参

    在js中拼接html标签传参时,如果方法参数是字符串需要加上引号,这里需要进行字符转义 <a href='javascript:addMenuUI("+"\"&qu ...

  2. vue中组件间的传参

    1.父传子 父组件准备一个数据,通过自定义属性给子组件赋值,进行传递 在子组件中通过 props 属性来接收参数 <body> <div id="app"> ...

  3. iOS H5页面打开APP技术总结

    iOS端H5页面打开APP的方式目前主要有两种:URL Scheme和Universal Links.其中Universal Links是iOS9.0以后推出的一种新的方案,由于它需要在iOS9.0以 ...

  4. ios 根据 schemes 打开 app

    公司出需求,要让 h5链接直接打开用户的 app,如果没有安装 app 直接跳转到 appStore 这就需要给 app 配置 schemes 即可 1.在Info.plist中 LSApplicat ...

  5. requests中get和post传参

    get请求 get(url, params=None, **kwargs) requests实现get请求传参的两种方式 方式一: import requests url = 'http://www. ...

  6. python中导入一个需要传参的模块

    最近跑实验,遇到了一个问题:由于实验数据集比较多,每次跑完一个数据集就需要手动更改文件路径,再将文件传到服务器,再运行实验,这样的话效率很低,必须要专门看着这个实验,啥时候跑完就手动修改运行下一个实验 ...

  7. python flask学习第2天 URL中两种方式传参

    新创建项目   自己写个url映射到自定义的视图函数 在url中传递参数 app.py from flask import Flask app = Flask(__name__) @app.route ...

  8. 使用python读取配置文件并从mysql数据库中获取数据进行传参(基于Httprunner)

    最近在使用httprunner进行接口测试,在传参时,用到了三种方法:(1)从csv文件中获取:(2)在config中声名然后进行引用:(3)从函数中获取.在测试过程中,往往有些参数是需要从数据库中获 ...

  9. vue-router中query和params传参(接收参数)以及$router、$route的区别

    query传参: this.$router.push({ path:'/...' query:{ id:id } }) 接收参数:this.$route.query.id params传值: 传参: ...

随机推荐

  1. 「AHOI2014/JSOI2014」骑士游戏

    「AHOI2014/JSOI2014」骑士游戏 传送门 考虑 \(\text{DP}\). 设 \(dp_i\) 表示灭种(雾)一只编号为 \(i\) 的怪物的代价. 那么转移显然是: \[dp_i ...

  2. js学习:函数

    概述 函数的声明 JavaScript 有三种声明函数的方法 function 命令 function命令声明的代码区块,就是一个函数.function命令后面是函数名,函数名后面是一对圆括号,里面是 ...

  3. redis-key管理

    redis-key管理 1.      redis key 本章主要内容为redis key级别的操作命令. 参考文档:https://redis.io/commands 1.1.    Redis ...

  4. Struts2高级(插件)笔记一

    插件 Struts-plugin.xml 说明: Struts-plugin.xml文件是在tomcat服务器启动的时候加载的 该配置文件在classpath的根目录下 在每一个含有plugin字母的 ...

  5. 吴裕雄 Bootstrap 前端框架开发——Bootstrap 显示代码:多行代码带有滚动条

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

  6. Python中的进制表示方式及转换方法

    在Python中,非十进制数字的表示方式为: 二进制:前面加0b,如0b1001 八进制:前面加0o,如0o3562 十六进制:前面加0x,如0x2af3 不同进制数字可直接进行数学计算,结果返回十进 ...

  7. Android 学习笔记四:创建工具栏按钮

    原文:http://blog.csdn.net/lihongxun945/article/details/48951199 前面我们已经可以在一个Activity中添加一些按钮之类的组件.由于手机的屏 ...

  8. [NOI 2005]瑰丽华尔兹

    Description 题库链接 给你一张 \(n\times m\) 的棋盘,棋盘上有一些障碍.一共 \(t\) 个时刻,被分为 \(k\) 段,在每一段中都有一个向上/下/左/右倾斜的趋势(持续时 ...

  9. Linux CentOS7 VMware LAMP架构Apache用户认证、域名跳转、Apache访问日志

    一.Apache用户认证 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //把111.com那个虚拟主机编辑成如下内容 <Virtu ...

  10. JavaScript图形实例:正多边形

    圆心位于坐标原点,半径为R的圆的参数方程为 X=R*COS(θ) Y=R*SIN(θ) 在圆上取N个等分点,将这N个点首尾连接N条边,可以得到一个正N边形. 1.正多边形阵列 构造一个8行8列的正N( ...