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 它应该工作!我建议你从配置文件中删除不必要的行,例如&lt;access launch-external="yes" origin="tel:*" /&gt;。并检查日志以捕获任何可能的错误。顺便说一句,它不适用于模拟器,因此您需要在实际设备上进行测试。【参考方案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)

AngularJS + jQuery Mobile

jquery移动加载页面并获取数据

我应该使用 jquery 还是 jquery mobile 或 iPad 网页?

jQuery Mobile 按钮