web-dev-qa-db-fra.com

Comment agrandir la bibliothèque média thickbox iframe?

La bibliothèque multimédia iframe dans thickbox n'est pas assez grande pour afficher mon onglet personnalisé. J'ai essayé d'ajouter "width = 900 & height = 600" à la fin du lien pointant vers la bibliothèque, mais pas de chance. Comment puis-je modifier la taille d'inframe?

3
Jenny

Oui, il est curieux que l'ajout de paramètres supplémentaires ne fonctionne pas ...

Je sais que Adminimize fait cela.
enter image description here

En regardant son code, c'est ce qu'il fait:

wp_deregister_script( 'media-upload' );
wp_enqueue_script(
    'media-upload', 
    WP_PLUGIN_URL . '/' . FB_ADMINIMIZE_BASEFOLDER . '/js/tb_window.js', 
    array( 'thickbox' )
);

Et voici le fichier tb_window.js:

// send html to the post editor
function send_to_editor(h) {
    if ( typeof tinyMCE != 'undefined' && ( ed = tinyMCE.activeEditor ) && !ed.isHidden() ) {
        ed.focus();
        if (tinymce.isIE)
            ed.selection.moveToBookmark(tinymce.EditorManager.activeEditor.windowManager.bookmark);

        if ( h.indexOf('[caption') != -1 )
            h = ed.plugins.wpeditimage._do_shcode(h);

        ed.execCommand('mceInsertContent', false, h);
    } else
        edInsertContent(edCanvas, h);

    tb_remove();
}

/**
 * new tb_window of media-uplader
 */
jQuery(function($) {
    tb_position = function() {
        var tbWindow = $('#TB_window');
        var width = $(window).width();
        var H = $(window).height();
        var W = ( 1720 < width ) ? 1720 : width;

        if ( tbWindow.size() ) {
            tbWindow.width( W - 50 ).height( H - 45 );
            $('#TB_iframeContent').width( W - 50 ).height( H - 75 );
            tbWindow.css({'margin-left': '-' + parseInt((( W - 50 ) / 2),10) + 'px'});
            if ( typeof document.body.style.maxWidth != 'undefined' )
                tbWindow.css({'top':'20px','margin-top':'0'});
            $('#TB_title').css({'background-color':'#fff','color':'#cfcfcf'});
        };

        return $('a.thickbox').each( function() {
            var href = $(this).attr('href');
            if ( ! href ) return;
            href = href.replace(/&width=[0-9]+/g, '');
            href = href.replace(/&height=[0-9]+/g, '');
            $(this).attr( 'href', href + '&width=' + ( W - 80 ) + '&height=' + ( H - 85 ) );
        });
    };

    jQuery('a.thickbox').click(function(){
        if ( typeof tinyMCE != 'undefined' &&  tinyMCE.activeEditor ) {
            tinyMCE.get('content').focus();
            tinyMCE.activeEditor.windowManager.bookmark = tinyMCE.activeEditor.selection.getBookmark('simple');
        }
    });

    $(window).resize( function() { tb_position() } );
});
2
brasofilo