Pregunta

Con jQuery 1.2.6 haría lo de abajo y todo estaba bien

$("#element").bgiframe();

Sin embargo, los únicos ejemplos que he visto trabajar con jQuery 1.3.x (mostrada a continuación)

$("#element").bgiframe = true;

Sin embargo, lo anterior no funciona ... así que ¿alguien tiene un nuevo plugin para hacer este tipo de cosas?

EDIT: Estoy usando este plugin exterior de jQuery.UI, y la versión que estoy usando es 2.1.1

¿Fue útil?

Solución

Me di cuenta si acabo de modificar el código js en el plugin antiguo, que trabajaría con jQuery 1.3.x

El abajo es la versión final de este plugin - trabajando 100% w / jQuery 1.3.1

Debido a un conflicto w / el nombre que tenía que cambiar el nombre a bbgiframe (en lugar de bgiframe)

Así que cuando usted lo llama lo hace de la siguiente manera:

$("#element").bbgiframe();

Ahora el código del plugin revisado:

$.fn.bbgiframe = function(s) {
    // This is only for IE6
    if ( $.browser.msie && /6.0/.test(navigator.userAgent) ) {
        s = $.extend({
            top     : 'auto', // auto == .currentStyle.borderTopWidth
            left    : 'auto', // auto == .currentStyle.borderLeftWidth
            width   : 'auto', // auto == offsetWidth
            height  : 'auto', // auto == offsetHeight
            opacity : true,
            src     : 'javascript:false;'
        }, s || {});
        var prop = function(n){return n&&n.constructor==Number?n+'px':n;},
            html = '<iframe class="bbgiframe"frameborder="0"tabindex="-1"src="'+s.src+'"'+
                       'style="display:block;position:absolute;z-index:-1;'+
                           (s.opacity !== false?'filter:Alpha(Opacity=\'0\');':'')+
                           'top:'+(s.top=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderTopWidth)||0)*-1)+\'px\')':prop(s.top))+';'+
                           'left:'+(s.left=='auto'?'expression(((parseInt(this.parentNode.currentStyle.borderLeftWidth)||0)*-1)+\'px\')':prop(s.left))+';'+
                           'width:'+(s.width=='auto'?'expression(this.parentNode.offsetWidth+\'px\')':prop(s.width))+';'+
                           'height:'+(s.height=='auto'?'expression(this.parentNode.offsetHeight+\'px\')':prop(s.height))+';'+
                    '"/>';
        return this.each(function() {
            if ( $('> iframe.bbgiframe', this).length == 0 )
                this.insertBefore( document.createElement(html), this.firstChild );
        });
    }
    return this;
};
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top