JQuery Mobile 应用程序,使用 HTML 5 进行移动呼叫
Posted
技术标签:
【中文标题】JQuery Mobile 应用程序,使用 HTML 5 进行移动呼叫【英文标题】:JQuery Mobile app, make a mobile call with HTML 5 【发布时间】:2015-06-26 08:35:06 【问题描述】:我正在将 JQuery Mobile 与 Phonegap 一起使用,并且我正在尝试创建一个按钮,当我单击它时应该拨打一个电话。我对这个问题进行了大量研究,并找到了以下解决方案
<a href="tel:+123456789">Call</a>
或
<a href="#" onclick="window.open('tel:+123456789', '_blank', 'location=yes');" data-role="button">Call</a>
此解决方案在浏览器上运行(要求我打开 Skype),但是当我使用三星 Galaxy S2 在 android 上运行它时无法运行。它什么也没做。
我尝试在 config.xml 文件中添加以下权限:
<access launch-external="yes" origin="tel:*" />
但也不工作。 如果您有任何建议的解决方案,请这样做。谢谢!
【问题讨论】:
【参考方案1】:如果您使用inappBrowser
插件,您可以使用tel:
地址启动一个inappbrowser 窗口:
var refcall = window.open('tel:'+phoneno, '_blank', 'location=no,closebuttoncaption=Home,disallowoverscroll=yes');
然后您可能会注意到,当通话结束时,您会被带回一个白色屏幕,上面写着电话号码。为避免这种情况,请附加以下代码:
refcall.addEventListener('loadstop', function(event)
console.log('done initiating call... closing inappbrowser module');
refcall.close();
);
尝试告诉我们。对我来说效果很好。
【讨论】:
【参考方案2】:你试过了吗?
<a rel="external" href="tel:+123456789">Call</a>
【讨论】:
我已经尝试过了,但没有做任何事情。还是谢谢你!【参考方案3】:CordovaCallNumberPlugin 应该可以帮助您
https://github.com/rohfosho/CordovaCallNumberPlugin
【讨论】:
【参考方案4】:将以下行添加到config.xml
<gap:plugin name="org.apache.cordova.inappbrowser" version="0.5.2" />
并使用此命令拨打号码:
window.open('tel:+123456789', '_system');
【讨论】:
config.xml 已经有这一行。我刚刚添加了版本属性,并尝试使用window.open
打开它,但也不起作用。感谢您的回复!
@AndreasH 它应该工作!我建议你从配置文件中删除不必要的行,例如<access launch-external="yes" origin="tel:*" />
。并检查日志以捕获任何可能的错误。顺便说一句,它不适用于模拟器,因此您需要在实际设备上进行测试。【参考方案5】:
首先,您发布的所有上述答案都是正确的并且工作正常。我遇到的问题是我的应用程序中没有包含cordova库。
<script type="text/javascript" src="cordova.js"></script>
所以当我在页面标题中包含上述行时,电话号码出现在拨号屏幕上!我正在使用以下代码来创建通话按钮:
<a rel="external" href="#" onclick="window.open('tel:+123456789', '_system');" data-role="button">Call</a>
我通过创建一个新的 phonegap 应用程序并仅使用上面给出的锚标记来找到解决方案。默认情况下,cordova 库位于脚本中。 谢谢你的回答
【讨论】:
以上是关于JQuery Mobile 应用程序,使用 HTML 5 进行移动呼叫的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 jquery 或 jquery mobile mobile 根据日期列出数据
在 Phonegap 项目中使用普通 JQuery(使用 JQuery Mobile)