有没有办法在灯箱中打开KCFinder,而不是通过window.open?

时间:2014-07-21 14:12:58

标签: javascript kcfinder

标题说的一切真的,它在新窗口中作为弹出窗口打开时的工作方式,我发现的问题是如果你已经打开窗口并单击按钮打开弹出窗口,什么都不会发生。

这意味着人们可能会在没有意识到的情况下打开窗口,并且在点击按钮并且什么也没发生时感到沮丧。

希望这是有道理的,但我能想到解决这个问题的唯一方法就是在页面上的灯箱中打开KCFinder,如果可能的话,有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为没有办法在灯箱中打开它,但你可以记录它打开的窗口的名称,然后检查窗口是否打开,如果窗口已经打开则关注它。试试这个:

window.KCFinder = {
    callBack: function(fileUrl) {
        // do something with fileUrl
        window.KCFinder = null;
    }
};

if(typeof kcwindow == 'undefined' || kcwindow.closed) {
    kcwindow = window.open('/eshop/kcfinder/browse.php?type=images', 'kcfinder_textbox', 
        'status=0, toolbar=0, location=0, menubar=0, directories=0, resizable=1, scrollbars=0, width=800, height=500'
    );
} else {
    kcwindow.focus();
}