我知道这<a href="tel:+15555555555">1-555-555-5555</a>
会在手机上启动拨号器,并导致 FF 和 Chrome 尝试在传统计算机上启动默认拨号器;但是,我需要在启动默认行为之前执行一些 JavaScript 以实现一些标记(特别是 dcsMultiTrack)。我尝试了以下方法,但它没有打电话,而是坐着。
<a href="tel:+15555555555" class="call_now preventPhone" onclick="trackPhone('SomeEvent', 'SomeTag','tel:+15555555555',this)">1-555-555-5555</a>
function setLocation(nextPage, target) {
if (target == "_blank") {
window.open(nextPage);
}
else {
location.href = nextPage;
}
}
function trackPhone(vPageUrl, vPageTitle, phone, aTag) {
dcsMultiTrack('DCS.dcsuri', vPageUrl, 'WT.ti', vPageTitle);
setTimeout("setLocation('" + phone + "', '" + aTag.target + "')", 500);
return false;
}
$(document).ready(function () {
$('.preventPhone').click(function (e) {
e.preventDefault();
});
});
编辑:
澄清一下,我正在阻止默认设置,因为电话操作触发得太快以至于 dcsMultiTrack 无法返回其回调,这就是为什么我希望 tel:+... 有一个 JS 等价物。