0

我有一个页面 (jobs.php),其中包含所有移动功能,如通话、短信和电子邮件。我在主页中以 iframe 的形式访问此index.php页面。我制作了一个功能,以便在拨打电话或发送短信或发送电子邮件之前,它将条目记录到数据库中。

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:5225sms:5114

这一切都在一个 iframe 中,可能是导致问题的原因吗?

4

1 回答 1

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 中运行良好。

于 2013-03-22T16:42:02.840 回答