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. php 高级 多台web服务器共享session的方法

    解决多台web服务器共享session的问题,至少有以下三种方法:   一.将本该保存在web服务器磁盘上的session数据保存到cookie中 即用cookie会话机制替代session会话机制, ...

  2. [追热点]学习Rust之选择IDE

    学习语言非常需要实际上手写代码,自然绕不开IDE工具,所以第一时间当然是选择IDE. Rust官网推荐 先去看看Rust官网推荐了什么IDE:工具 - Rust 程序设计语言 无论您喜欢用命令行还是可 ...

  3. jquery移除click事件

    原文链接:https://blog.csdn.net/weixin_41228949/article/details/83142661 在html中定义click事件有两种方式,针对这两种方式有两种移 ...

  4. 在javaweb中对于session的使用

    1.初次调用session时: String username="student"; HttpSession session=request.getSession(true);// ...

  5. SpringBoot与Lombok

    Lombok 在项目中使用Lombok可以减少很多重复代码的书写.具体详细资料可以浏览 https://blog.csdn.net/motui/article/details/79012846 一.引 ...

  6. 吴裕雄--天生自然TensorFlow2教程:输出方式

    sigmoid out' = sigmoid(out) # 把输出值压缩在0-1 import tensorflow as tf a = tf.linspace(-6., 6, 10) a tf.si ...

  7. k种球若干,取n个球,输出所有取球方案 (模拟)

    有K种颜色的小球(K<=10),每种小球有若干个,总数小于100个. 现在有一个小盒子,能放N个小球(N<=8),现在要从这些小球里挑出N个小球,放满盒子. 想知道有哪些挑选方式.注:每种 ...

  8. 重新学习CSS,认识CSS3中的属性

    之前学css,觉得会改个样式就不错了,直到现在,在做前端开发的时候,才发现自己的前端页面是有多垃圾,而且还不知道该怎么适应各个浏览器,总是很“词穷”,最近是想着好久没去慕课上面了,于是就报着逛一逛的心 ...

  9. 记录5-如何在UltraEdit中编译和运行Java

    1点击“高级”,再点击“工具配置” 2点击“插入”,在“菜单项”名称上输入“编译java程序”,在“命令行”里输入“javac %n%e”,在工作目录上填“%p”. 3切换到“输出”项,选择“输出到列 ...

  10. 异常 日志-<多重catch语句>

    try{ }catch(){ }catch(){ }