window.open 无法在cjuidialogyii1内工作

kr98yfug  于 2022-11-09  发布在  其他
关注(0)|答案(1)|浏览(143)

我想在保存到cjuidialog后打开新标签。我使用

window.top.location.href

它的工作,但不打开新的选项卡,但如果我使用

window.open('https://api.whatsapp.com/send?phone=+62878787811423&text=Tesdawks', '_blank');

这是我完整代码

<?php $this->beginWidget('zii.widgets.jui.CJuiDialog', array(
        'id'=>'cru-dialog',
        'options'=>array(
            'title'=>'Detail view',
            'autoOpen'=>false,
            'modal'=>true,
            'width'=>'80%',
            'height'=>450,
            'close'=>'js:function(){
                $("#cru-frame").attr("src","");
                $.fn.yiiGridView.update("indexKonsumen-grid", {
                    data: $(this).serialize()
                });
            }',
        ),
    ));
?>

<iframe id="cru-frame" width="100%" height="100%"></iframe>
<?php $this->endWidget(); ?>

我的控制器

if(isset($_POST['wa'])){
                    echo CHtml::script("window.parent.$('#cru-dialog').dialog('close');
                                        window.parent.$('#cru-frame').attr('src','');
                                        window.open('https://api.whatsapp.com/send?phone=+62878787811423&text=Tesdawks', '_blank');
                    ");
}
f0brbegy

f0brbegy1#

window.open()的第二个参数是windowName,您似乎是在尝试通过将目标设置为_blank来打开一个新标签页的上下文中使用它,但是window.open的默认行为是在一个新标签页中打开窗口,因此这是多余的。

if(isset($_POST['wa'])) {
    echo CHtml::script("window.parent.$('#cru-dialog').dialog('close');
    window.parent.$('#cru-frame').attr('src','');
    window.open('https://api.whatsapp.com/send?phone=+62878787811423&text=Tesdawks');
");
}

相关问题