打开电子邮件客户端后,Javascript重新加载父窗口

时间:2013-02-27 04:10:04

标签: javascript windows parent reload

我有一个带有以下按钮的表单:

<input name="send_message" type="submit" value="SEND A MESSAGE" />

此按钮将在php脚本下面触发:

if(isset($_POST['send_message'])){
$emails = "";

if(!empty($_POST['id'])){
    foreach($_POST['id'] as $email){
        if($emails == ""){
            $tempemail = explode("/",$email);
            $emails = $tempemail[1];
        }else{
            $tempemail = explode("/",$email);
            $emails .= ";" . $tempemail[1];
        }
    }

    if(!empty($emails)){
        echo "<script>window.location = \"mailto:me@abc.com 'recipient'?bcc=".$emails."&subject=Hello%20:%20\"</script>";

    }

上面的脚本工作正常,但是当电子邮件客户端打开时,父窗口是空白的,除非我手动刷新页面,我希望在弹出电子邮件客户端时重新加载父窗口,有人可以帮忙吗?感谢。

修改

解决方案:

echo "<script>location.href = \"mailto:me@abc.com 'recipient'?bcc=".$emails."&subject=Hello%20:%20\"</script>";
echo "<script>window.location.href = "'.$_SERVER['PHP_SELF'].'"</script>";

感谢Panayot Karabakalov的一些想法。

1 个答案:

答案 0 :(得分:0)

使用所有主流浏览器支持的Location reload() Method,或者如果您愿意,可以尝试alternative methods

好的,我不能使用PHP,所以不确定需要插入那个部分,但是确保Reload()是一个方法/函数,而不是属性,所以可能是这样的:

if(!empty($emails)){
        echo "<script>window.location = \"mailto:me@abc.com 'recipient'?bcc=".$emails."&subject=Hello%20:%20\"</script>";
        echo "<script>window.location.reload();</script>";
    }

[编辑] 好吧,可能有一些重新加载页面的PHP内置方法会更好,比如this。您还拥有mail()函数,无需重新加载页面。