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

标签 javascript kcfinder

标题确实说明了一切,它目前的工作方式将在新窗口中作为弹出窗口打开,我发现的问题是,如果您已经打开了窗口并单击按钮打开弹出窗口,什么也不会发生。

这意味着人们可能会在没有意识到的情况下打开窗口,并在单击按钮但没有任何反应时感到沮丧。

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

最佳答案

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

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();
}

关于javascript - 有没有办法在灯箱中打开 KCFinder,而不是通过 window.open?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24867303/

相关文章:

javascript - kcfinder 的问题通过拖放创建多个图像

javascript - 为什么我的 Javascript 中的两个正则表达式文字在属性上有所不同?

php - 每次获取时都会从数据库中回显数据

javascript - 如何获取更改后的值?

javascript - 运行测试时强制 navigator.online 为 false

javascript - CKEditor 的配置文件没有任何效果

javascript - kcfinder 空白浏览页面

javascript - 使用目标属性将文件上传到本地 iframe 在最新的 Chrome 中不起作用