¿El trabajo bgiframe plugin con jQuery 1.3.x?
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
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;
};