在写移动端页面会遇到唤醒App的需求, 一般都是通过scheme协议唤起的,这里记录一下
以新浪微博为例: 其协议为 sinaweibo://splash; 这些协议需要自己去收集,或者去官方查询; 有些App分IOS和Android; 有些应用又不分;
这个根据终端做处理即可
// 测试地址
<a href="sinaweibo://splash">微博app</a>
<a href="sinaweibo://userinfo?uid=3177804914">微博个人主页</a>
// 跳转代码: 手机装了app就打开; 没有就跳转页面或者跳转app store去下载, 逻辑自己定义即可
goToWeibo() {
let u = navigator.userAgent;
let isAndroid = u.indexOf("Android") > -1; //安卓终端
let isIOS = !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/); //ios终端
if (isAndroid) {
// 安卓weibo的scheme协议跳转
window.location.href = "sinaweibo://userinfo?uid=3177804914";
setTimeout(function() {
let hidden =
window.document.hidden ||
window.document.mozHidden ||
window.document.msHidden ||
window.document.webkitHidden;
if (typeof hidden == "undefined" || hidden == false) {
window.location.href = "https://m.weibo.cn/u/3177804914";
}
}, 2000);
}
// IOS下的scheme协议跳转
if (isIOS) {
window.location.href = "sinaweibo://userinfo?uid=3177804914";
setTimeout(function() {
let hidden =
window.document.hidden ||
window.document.mozHidden ||
window.document.msHidden ||
window.document.webkitHidden;
if (typeof hidden == "undefined" || hidden == false) {
window.location.href =
"https://m.weibo.cn/u/3177804914";
}
}, 2000);
}
},
推特: twitter://user?screen_name=
ins: instagram://user?username=
youtube: iOS: youtube://www.youtube.com/user/ Android : vnd.youtube://www.youtube.com/user/
其他app scheme协议快速通道:
国内: https://blog.csdn.net/
海外: https://help.emplify.com/hc/
在很多应用都采用同H5页面混合开发模式,这篇主要讲解JS中如何获取原生应用返回给js的数据方法,包括android和ios
h5中新功能用来描述自定义的数据属性,也就是 data-* 自定义属性。在h5中我们可以使用以 data- 为前缀来设置我们需要的自定义属性,来进行一些数据的存放 ,在实际项目中使用比较多。这篇文章就总结如何通过原生js对data-*属性的操作。
减少工作量(一套代码,多个平台),以及快速的更新迭代(譬如线上更新),而且还需要考虑Native端的高性能以及系统API调用能力,混合页面导航栏组件由原生实现,一些重要的业务页面、带有复杂动画或交互的页面以及一些固定页面由原生实现
移动web的兼容性bug的解决方法:远程接口的跨域问题,背景图片会模糊问题,图片加载,拨号功能等
DeviceMotionEven是html5提供的一个用来获取设备物理方向及运动的信息(比如陀螺仪、罗盘及加速计)的Dom事件,利用devicemotion实现手机h5页面摇一摇功能
在做h5活动页面的时候,有这样的一个需求:点击页面的一个按钮就打开本地的一个app应用,如果该应用未下载,则跳转到app的下载页。这个操作是通过连接跳转的形式来实现的,这篇文章就简单讲解下如何操作的?
点击名片识别按钮,将名片上的个人信息扫描并解析出来显示。需要调出手机摄像头和相册,让用户进行选择;获取照片或者图片的base64数据;调取第三方的orc接口进行图片解析,得到名片上的个人信息,并显示。
在ios端默认的长按选择,可以对文字进行复制粘贴。但是在实际开发中,针对一些按钮一般要避免长按时弹出选中文字,或者一些罩层要避免弹出。 这篇文章通过css3实现禁止ios端长按复制选中文字的方法
注册企业微信,在应用与小程序栏目中,设置可信域名,配置公众号菜单。可信域名不得不说下,在最初开发时,认为设置并验证后,微信认证接口会实现跨域请求,其实并没有。所以全在H5端还得配合服务端完成票据获取等操作。
需要在从APP分享出去的H5页面中,带有一个立即打开的按钮,如果本地安装了app,那么就直接唤起本地的app,如果没有安装,则跳转到下载。这是一个很正常的推广和导流量的策略。
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!