我有一个项目需要<a href="tel:123456">
通过电话号码(123456 不是电话号码)但是这将导致除移动浏览器之外的所有问题,因为无法解释该tel:
位。
当浏览器宽度<1000px时,我尝试使用jQuery添加href attr,但这是一种非常不可靠的方法(平板电脑的分辨率也有限)。
任何关于如何克服这一点的想法将不胜感激。我正在使用 PHP、jQuery 和 JavaScript。
如果它是移动代理,请使用 PHP 检测: http ://www.000webhost.com/forum/scripts-code-snippets/27404-php-extremely-simple-way-check-if-mobile-browser.html
<?php
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'android')) {
echo '<a href="tel:123456">';
}else{
echo 'You are not in a mobile';
}
?>
由于您使用的是 PHP,我可以推荐php-mobile-detect类。您可以迎合单个设备/操作系统/浏览器,或者简单地使用isMobile()
或isTablet()
作为包罗万象的。
我通常会这样做:
include './includes/Mobile_Detect.php';
$detect = new Mobile_Detect;
if ( $detect->isMobile() or $detect->isTablet() ){
$phone='<a href="tel:+12345678910">1-234-567-8910</a>';
} else {
$phone='1-234-567-8910';
}
然后我就<?php echo $phone
;?> 在我需要的任何地方,它都能奏效!并且通过使用 PHP 而不是 javascript 这意味着检测是在服务器端完成的,因此最终用户需要下载的东西更少(如 jQuery 和额外的脚本)。
设备库会经常更新,因此每隔一段时间检查一下GitHub 页面是值得的。
您想检测用户是否有移动浏览器?这可能会有所帮助:
http://jquerybyexample.blogspot.com/2012/03/detect-mobile-browsers-using-jquery.html
试试下面这个:
语法:调用
<a href="callto://9566603286">9566603286</a>
<?php
if(strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'mobile') || strstr(strtolower($_SERVER['HTTP_USER_AGENT']), 'android')) {
echo '<a href="callto://9566603286">9566603286</a>';
}else{
echo 'You are not in a mobile';
}
?>