2013-08-20 63 views
1

我在chrome中有一个奇怪的问题,我使用window.open打开一个新选项卡并使用tcpdf创建pdf,然后将其作为附件发送到特定地址,现在在铬中发生的是它发送2封邮件。如果弹出窗口被启用,那么我会得到2个窗口操作1.弹出窗口和2.新标签,首先我不明白怎么可能,我从来没有见过这个。Window.Open in chrome打开popus和新标签页

然后如果禁用弹出窗口,它只会在新标签页中打开,但仍然是2封邮件。

用于调用弹出页面和电子邮件代码的代码如下所述。请帮忙。

window.open('/loancal/rhexportemail.php' + qstring,"_blank"); 
//Code used to open popup 

//------------- EMAIL CODE ----------------// 
$to = "[email protected]"; 
$from = "[email protected]"; 
$subject = "Loan Enquiry Calculation Cashback - " . $client; 
$message = "Please find attached Loan Enquiry Calculation Cashback statement for ".$client."." ; 

//a random hash will be necessary to send mixed content 
$separator = md5(time()); 

// carriage return type (we use a PHP end of line constant) 
$eol = PHP_EOL; 

// attachment name 
$filename = $subject.".pdf"; 

// encode data (puts attachment in proper format) 
$pdfdoc = $pdf->Output('LECC'.$separator.'.pdf', 'S'); 
$attachment = chunk_split(base64_encode($pdfdoc)); 

// encode data (multipart mandatory) 
$headers = "From: ".$from.$eol; 
$headers .= "MIME-Version: 1.0".$eol; 
$headers .= "Content-Type: multipart/mixed; boundary=\"".$separator."\"".$eol.$eol; 
$headers .= "Content-Transfer-Enconding: 7bit".$eol; 
$headers .= "This is a MIME encoded message.".$eol.$eol; 

// message 
$headers .= "--".$separator.$eol; 
$headers .= "Content-Type: text/html; charsrt=\"iso-8859-1\"".$eol; 
$headers .= $message.$eol.$eol; 

// attachment 
$headers .= "--".$separator.$eol; 
$headers .= "Content-Type: application/octet-stream; name=\"".$filename."\"".$eol; 
$headers .= "Content-Transfer-Encoding: base64".$eol; 
$headers .= "Content-Disposition: attachment".$eol.$eol; 
$headers .= $attachment.$eol.$eol; 
$headers .= "--".$separator."--"; 

// send message 
if(@mail($to, $subject, $message, $headers)) 
{ 

echo "<script type='text/javascript'> alert('mail sent');window.close();</script>"; 

} 
else{ 
echo "<script type='text/javascript'>alert('mail not sent');window.close(); </script>"; 
    } 

回答

0

我坚信你不知怎么称这两次。

+0

它并非如此,请尝试此操作..创建一个页面并添加一个window.open代码并在页面加载时设置一个javascript警报。现在,为该页面禁用弹出窗口阻止程序,您将同时看到弹出窗口和新标签页。我相信,即使弹出被阻止,chrome也不会抑制php代码,请使用下面提供的PHP代码来调用alert。 'echo“”;' –

相关问题