I have a project that requires <a href="tel:123456">
over the phone number (123456 is not the number) however this will cause an issue for everything except mobile browsers by being unable to interpret the tel:
bit.
I have tried to use jQuery to add the href attr when a browser width is <1000px but this is a very unreliable method (tablets also have a limited resolution).
Any ideas on how to overcome this would be greatly appreciated. I am using PHP, jQuery and JavaScript.
Detect with PHP if its a mobile agent:
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';
}
?>
Since you're using PHP I can recommend the php-mobile-detect class. You can cater to individual devices/OS'es/browsers, or simply use isMobile()
or isTablet()
as a catch-all.
I usually do something like this:
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';
}
Then I just <?php echo $phone
;?> wherever I need it and it works a treat! And by using PHP instead of javascript it means the detection is done server-side, so the end user has less to download (like jQuery and extra scripts).
The library of devices gets updated fairly often, so it's worth checking the GitHub page every so often.
You want to detect, whether a user has a mobile browser or not?
This might help:
http://jquerybyexample.blogspot.com/2012/03/detect-mobile-browsers-using-jquery.html
Try this below one :
Syntex : callto
<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';
}
?>