window.open не работает внутри cjuidialog yii1

Я хочу открыть новую вкладку после сохранения в 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');
                    ");
}

1 ответ

Решение

Второй параметр для 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');
");
}
Другие вопросы по тегам