Est-ce que le travail de plugin bgiframe avec jQuery 1.3.x?
Question
Avec jQuery 1.2.6 je ferais ci-dessous et le tout était bien
$("#element").bgiframe();
Mais les seuls exemples que je l'ai vu travailler avec jQuery 1.3.x (ci-dessous)
$("#element").bgiframe = true;
Mais cette procédure ne fonctionne pas ... alors que quelqu'un a un nouveau plugin pour faire ce genre de chose?
EDIT: J'utilise ce plugin en dehors de jQuery.UI, et la version que je utilise est 2.1.1
La solution
Je réalisé que si je viens bidouiller le code js dans le vieux plug-in, il travaillerait avec jQuery 1.3.x
Ce qui suit est la version finale de ce plugin - travail 100% p / jQuery 1.3.1
En raison d'un conflit avec / le nom que je devais le renommer en bbgiframe (au lieu de bgiframe)
Alors, quand vous appelez le faire comme suit:
$("#element").bbgiframe();
le code révisé plug-in:
$.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;
};
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow