简体   繁体   中英

Is it possible to programmatically call a telephone number in JS?

So basically right now I can create a button with an A tag that has an href="tel:XXXXXXXXXXX" and if a user clicks / taps on that it will bring them into their phone application. However I am trying to do this programmatically on gesture recognition (swipe). The gesture is working, so far I have tried window.location = "tel:XXXXXXXXXX"; window.open('tel:XXXXXXXXXX', '_top'); window.location = "tel:XXXXXXXXXX"; window.open('tel:XXXXXXXXXX', '_top');

neither of which have worked yet. Any idea? Ionic / Angular 1

Note** It appears to only happen on iOS, Android seems to be working fine.

If you want to do it through html, then you just have to place a tag like this:

<a href="tel:XXXXXXXXXX">Call me!</a>

similarly if you wanna do it through javascript, you can do:

document.location.href = "tel:XXXXXXXXXX";

For this you will require to add this in the config.xml first

<access origin="tel:*" launch-external="yes" />

then call it like:

document.location.href = "tel:XXXXXXXXXX";

Whitelist Guide

You probably just can't, when your APP is running from mobile browser. You'll need to wrap your app as cordova app or similar. Then you can for example use PhoneGap-PhoneDialer

You can try with below one,

window.location.href = "tel:+91123456789";

But, for IOS it may not work because of some permission issues. In that case you can try like below,

window.open('tel:+91123456789', '_system');

Try it on a real device.

None of these methods worked on the IOS emulator. It only worked on a physical device. That tripped me up for a while.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM