微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

html5 – 点击调用html

我想在我的网站上使用html5标签进行移动视图,当用户从移动设备点击此链接时,会在给定的号码上打电话。
<p>Book Now,call <a href="tel:01234567890">01234 567 890</a></p>

用户手机不是html5时,该怎么办?
我已经通过modenizer,但似乎它不会检测到链接属性
http://www.tutorialspoint.com/html5/html5_modernizr.htm

任何建议?
此按钮只会在我的网站在移动设备上打开时显示,而在移动设备上打开时,我将要隐藏此链接

解决方法

The tel: URI scheme(以及短信:还包括Feed :,maps :,youtube:和其他)由协议处理程序处理(如mailto:和http:are)。

它们与HTML5规范无关(AFAIK Apple在2007年左右引入了tel:支持,并且Android设备也很久以前支持它们),那么您无法使用toolsiz来检查他们的支持。协议处理程序可以由应用程序安装(例如,Skype安装一个callto:具有相同意义和行为的tel :)的协议处理程序,由浏览器本机支持,或由网站本身安装(有一些限制)。

添加的HTML5是支持安装自定义基于Web的协议处理程序(具有registerProtocolHandler()和相关功能),还可以通过isProtocolHandlerRegistered()函数简化支持。这是检查tel:是否支持的好方法。问题是这个API没有得到广泛的支持,但有很多解决方法(也就是here on SO)。一般我建议的是:

>如果您正在移动设备上运行,那么您可以放心地假设tel:被支持(​​是的,对于旧设备来说不是真的,但是IMO可以忽略它们)。
>如果JS不活动,那么什么都不做。
>如果您在桌面浏览器上运行,那么您可以使用isProtocolHandlerRegistered()来检测支持(如果不支持,则返回到替代方法)。
>如果tel:不支持,则更改链接以使用callto:并在3中重复检查desctibed
>如果tel:和callto:不支持(或者 – 在桌面浏览器中 – 您无法检测到他们的支持),那么只需删除链接替换href中的URL,使用javascript:void(0)和(如果数字不是重复在文本跨度)放置,电话号码。这里的HTML5微数据不会帮助用户(只是搜索引擎)。

请注意(至少在最新的Windows版本上)总是有一个假冒注册的协议处理程序,叫做App Picker(令人讨厌的窗口,让你选择你要打开一个未知文件的应用程序)。这将消除您的测试,因此如果您不想处理Windows环境作为特殊情况,您可以简化此过程:

>如果您正在移动设备上运行,那么假设tel:被支持。>如果您在桌面上运行,请使用callto:替换tel:。然后放电话或离开它(假设有好的机会安装Skype)。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。