iframe-tabs icon indicating copy to clipboard operation
iframe-tabs copied to clipboard

能否自定义每个Controller是否弹窗编辑或原来的方式编辑?

Open SamHz opened this issue 4 years ago • 6 comments

能否自定义每个Controller是否弹窗编辑或原来的方式编辑?

SamHz avatar Jan 18 '21 07:01 SamHz

更新到新版本看看,

$script = <<<EOT
   window.bind_urls = 'none'; //取消以弹出框或tab方式打开
EOT;

Admin::script($script);

ichynul avatar Jan 20 '21 11:01 ichynul

@ichynul 安装了新版本,问题是我不知道要把你上面的代码写在那里,我写在$form里没有效果。能麻烦你把使用在那里的告知一下我吗?感谢

我的写法是:

  protected function form()
    {
        $script = <<<EOT
            window.bind_urls = 'tab'; //取消以弹出框或tab方式打开
        EOT;

        Admin::script($script);
       .....
}

SamHz avatar Jan 21 '21 00:01 SamHz

放在grid或form里面,你写的不对,应该是new_tab,你改了再看看 popup / new_tab / none

ichynul avatar Jan 21 '21 12:01 ichynul

@ichynul 经测试,在form里加了这个,全局都受影响而且,所有编辑都不能new_tab也不能popup只能none了,不清楚原因,但将它注释后用全局的设置才可以

SamHz avatar Jan 22 '21 00:01 SamHz

你要在同一个页面对不同的按钮实现不同的点击效果吧,我上面说的方案是针对整个页面的,比如列表页,设置了以后编辑,查看的都按同样的方式处理。如果你要实现编辑和查看点击的处理方式不同。估计得自己根据实际写一下js。

  if ((bind_urls =='new_tab' || bind_urls =='popup') && bind_selecter)
{
                
                $('body').on('click', bind_selecter, function() {
                    var url = $(this).attr('href');
                    if (!url || url == '#' || /^javascript|\(|\)/i.test(url)) {
                        return;
                    }
                    if ($(this).attr('target') == '_blank') {
                        return;
                    }
                    if ($(this).hasClass('iframes-pass-url')) {//这里是关键,可以在你不需要按默认处理方式的按钮上加这个class。然后重新绑定 onClick事件,调用`top.openTab(url, title)` 或 `openPop(url, title, area)`;
                        return;
                    }
      }
}

https://github.com/ichynul/iframe-tabs/blob/75345215d0ac1eed3ffd383720b711c9bf2d04b7/src/IframeTabsServiceProvider.php#L318

ichynul avatar Jan 22 '21 13:01 ichynul

更新到新版本看看,

$script = <<<EOT
   window.bind_urls = 'none'; //取消以弹出框或tab方式打开
EOT;

Admin::script($script);

不生效

qiyinxiaoqiang avatar Dec 11 '21 05:12 qiyinxiaoqiang