我有一个页面(jobs.php),它具有所有移动功能,如通话,短信和电子邮件。我在主index.php
页面中以iframe的身份访问此页面。
我做了一个函数,在拨打电话或短信或电子邮件之前,它会将条目记录到数据库中。
jobs.php代码
Javascript(所有变量都已定义并正常工作)
<img src=\""+imgpath+"email_logo.png\"onclick=\"setMailLog('"+installername+"',"+customerId+",'"+email+"')\" id=\"mimg_"+customerId+"\"/>
function setMailLog(installerName, customerId,email){
console.log("Email Attempted:");
$.ajax({
url: 'functions.php',
type: 'POST',
dataType:'text',
data: 'elogins='+installerName+'&elogcid='+customerId,
success: function(result){
console.log(result);
$("#mimg_"+customerId).wrap('<a id="mhrefid_'+customerId+'" target="_blank"></a>');
$('#mhrefid_'+customerId).attr('href','mailto:'+email);
window.location.href=$("#mhrefid_"+customerId).attr('href');
}
});
}
这在所有桌面浏览器上都运行良好。它在Android上的默认浏览器上工作正常但在Android上的Chrome中断,这很重要,因为它们是移动功能,应该可以在每个浏览器的移动设备上运行。
当我点击Android上的Chrome中的邮件图标时,它会显示
The web page at mailto:email might be temporarily down or it may have removed permanently to a new address
Error 302(net::ERR_UNKNOWN_URL_SCHEME): Unknown error
错误页面仅显示特定的iframe,而不是整个index.php文件。
调用和短信功能相同,只是错误更改为tel:5225
或sms:5114
这一切都在iframe中,可能是造成问题的原因吗?
答案 0 :(得分:1)
对我来说看起来像个错误。我创建了一张跟踪它的票证https://code.google.com/p/chromium/issues/detail?id=223146
要解决此问题,请替换
window.location.href=$("#mhrefid_"+customerId).attr('href');
与
window.top.location.href=$("#mhrefid_"+customerId).attr('href');
这会更改顶级网页的位置,而不是iframe,这在Chrome中运行良好。