HTML5实现一键拨号,一键发短信以及上传头像等问题都是比较常见的场景,近期在做移动端项目的时候遇到阻挠,通过查找资料解决了问题;

  废话不多说,直接上案例代码;

  HTML5实现一键拨号:

<a href="tel:151********" class="phone">

  HTML5实现一键发短信:

<a href="sms:151********" class="message">

  是的,你没看错,在HTML5中只需要通过a标签就可以直接实现一键拨号和一键发短信的功能,当然我们在项目中的需求一般都是要求动态的获取不同的手机号,需要动态的更改手机号的时候只需要双向绑定去动态的拼接即可,微信内置浏览器也是支持的,所以在开发webapp的时候不用太担心微信内置浏览器兼容性问题;

  

  上传、更改头像功能也是我们经常会碰到的常用功能,我们知道可以直接用<input type="file>标签调用选择文件对话框,但是input输入框原生样式很丑,我们可以给输入框添加样式display:none来解决;

  然后input输入框上传文件的时候会有兼容性问题,自带浏览器可以正常运行,一般的webapp是运行在微信内置浏览器中的,像<input id="photo" type="file" accept="image/jpeg, image/x-png, image/gif" capture="camera">这一段代码在微信内置浏览器中是不运行不触发的,我们可以这样修改:

<input id="photo" type="file" accept="image/*" capture="camera">

  这样,我们只需要修改accept属性就可以在微信内置浏览器触发了;所以我们在做项目的时候需要问清楚是在微信上线还是在哪再决定选择哪个兼容方式;

  上传头像的时候一般我们是需要跟后台进行数据交互的,今天在调用上传头像接口的时候,参数前台显示传输以base64格式进行编码传输,后台说没有收到,但是我们这边是看到正常的。通过查阅资料,我们最终把代码修改成了这样:

let formData = new FormData()
formData.append('name', this.name)
formData.append('idCard', this.idcard)
formData.append('phone', this.phone)
formData.append('icon', this.$refs.hiddenInput.files[0])
formData.append('payzfb', this.aliPay)
formData.append('tgm',this.qrCode)
console.log(this.$refs.hiddenInput.files[0]);

  首先我们这种前台图片传输给后台的时候axios的方法需要是post,然后参数以FormData对象来进行传输,然后给FormData添加属性和值,icon就是我们的图片头像,我们直接传输url后台是收不到的,我们需要给img标签绑定ref="hiddenInput"然后通过this.$refs.hiddenInput.files[0]来作为值传输,这样传输后台是能够收到的;我们获取到的this.$refs.hiddenInput.files[0]通过控制台输出,我们可以看到:

  

  好了,这篇博客就到这里了,今天的博客是属于日常开发中比较常见的场景的知识点,还有什么疑问,大家可以一起留言一起讨论!

解决HTML5实现一键拨号、一键发短信及上传头像兼容性问题的更多相关文章

  1. a标签实现一键拨号、发短信、发邮件、发起QQ会话

    a标签href的妙用:   <a href="tel:400-888-6633">拨打电话<a> <a href="sms:19956321 ...

  2. eclipse 拨打电话、拨号,发短信

    1.拨打电话,拨号 //拨打电话Intent intent = new Intent(); intent.setAction(Intent.ACTION_CALL); intent.setData(U ...

  3. 移动设备wap手机网页html5通过特殊链接:打电话,发短信,发邮件详细教程

    如果需要在移动浏览器中实现拨打电话,调用sms发短信,发送email等功能,移动手机WEB页面(HTML5)Javascript提供的接口是一个好办法. 采用url href链接的方式,实现在Safa ...

  4. html5拨打电话及发短信

    1.最常用WEB页面一键拨号的电话拨打功能 <a href="tel:15088888888">拨号</a> 2.最常用WEB页面一键发送短信功能: < ...

  5. html5页面中 触发 拨打电话、发短信 的方式

    <a href="tel:18688888888">拨号</a> <a href="sms:18688888888">发短信 ...

  6. html5开发手机打电话发短信功能

    原文:http://www.open-open.com/code/view/1449843459332 在很多的手机网站上,有打电话和发短信的功能,对于这些功能是如何实现的呢.其实不难,今天我们就用h ...

  7. html5开发手机打电话发短信功能,html5的高级开发,html5开发大全,html手机电话短信功能具体解释

    在非常多的手机站点上,有打电话和发短信的功能,对于这些功能是怎样实现的呢.事实上不难,今天我们就用html5来实现他们. 简单的让你大开眼界.HTML5 非常easy写,但创建网页时,您常常须要反复做 ...

  8. html5 安卓拨打电话 发短信

    方法一: <input name=”phone_no” format=”*m” value=”13″/> <do type=”option” label=”呼出号”> < ...

  9. html页面通过特殊链接:打电话,发短信,发邮件详细教程

    采用url href链接的方式,实现在Safari  ios,Android 浏览器,webos浏览器,塞班浏览器,IE,Operamini等主流浏览器,进行拨打电话功能. 1. 拨打电话 在电话号码 ...

随机推荐

  1. redis集群(单机6节点实现)

    Redis集群搭建与简单使用 1.介绍安装环境与版本: 1)Redis使用的是Redis-3.2.8版本. 2)用一台虚拟机模拟6个节点,三个master节点,三个slave节点.虚拟机使用CentO ...

  2. 【CYH-02】NOIp考砸后虐题赛:成绩:题解

    这道题挺送水了吧... 两种做法. 其实空间都不需要那么大,我来提交界面一看一堆MLE的,于是还是良心的放开了时限. 这么简单,就不做解释了. 下面放出几种代码. 代码: 两个数组: #include ...

  3. Spring的注解问题

    Annotation(注解)概述 从JDK5.0开始, Java增加了对元数据(MetaData)的支持,也就是 Annotation(注解). Annotation其实就是代码里的特殊标记,它用于替 ...

  4. 小记---idea springboot 报错没有get或者set方法

    给idea 安装一个插件即可

  5. C#3.0新增功能09 LINQ 基础03 LINQ 和泛型类型

    连载目录    [已更新最新开发文章,点击查看详细] LINQ 查询基于 .NET Framework 版本 2.0 中引入的泛型类型. 无需深入了解泛型即可开始编写查询. 但是,可能需要了解 2 个 ...

  6. [剑指offer] 10. 旋转数组的最小数字

    题目描述 我们可以用2*1的小矩形横着或者竖着去覆盖更大的矩形.请问用n个2*1的小矩形无重叠地覆盖一个2*n的大矩形,总共有多少种方法? 思路: 利用dp[i]保存盖2*i的矩形有多少种办法. 通过 ...

  7. AQS初体验

    AQS初体验 AQS是AbstractQueuedSynchronizer的简称.AQS提供了一种实现阻塞锁和一系列依赖FIFO等待队列的同步器的框架.所谓框架,AQS使用了模板方法的设计模式,为我们 ...

  8. 十九、表添加字段的SQL语句写法

    通用式: alter table [表名] add [字段名] 字段属性 default 缺省值 default 是可选参数增加字段: alter table [表名] add 字段名 smallin ...

  9. JVM(一):久识你名,初居我心

    聊聊JVM JVM,一个熟悉又陌生的名词,从认识Java的第一天起,我们就会听到这个名字,在参加工作的前一两年,面试的时候还会经常被问到JDK,JRE,JVM这三者的区别. JVM可以说和我们是老朋友 ...

  10. RobotFramework_4.SeleniumLibrary操作(二)

    *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: 0 !important; } /* ...