Есть ли способ открыть KCFinder в лайтбоксе, а не через window.open?

Название говорит само за себя, то, как оно работает в данный момент, когда оно открывается как всплывающее окно в новом окне, проблема, с которой я столкнулся, заключается в том, что если у вас уже есть открытое окно, нажмите кнопку, чтобы открыть всплывающее окно, ничего не произойдет.

Это означает, что люди могут потенциально открыть окно, не осознавая этого, и расстроиться, нажав кнопку, и ничего не произойдет.

Надеюсь, что это имеет смысл, но единственный способ противостоять этому - открыть KCFinder в лайтбоксе на странице, есть идеи, если это возможно?

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();
}
Другие вопросы по тегам