Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用bgiFrame(ie6插件)覆盖不使用wmode交叉浏览器的flash内容_Javascript - Fatal编程技术网

Javascript 使用bgiFrame(ie6插件)覆盖不使用wmode交叉浏览器的flash内容

Javascript 使用bgiFrame(ie6插件)覆盖不使用wmode交叉浏览器的flash内容,javascript,Javascript,我有一个包含flash和菜单的站点,我需要能够将flash与菜单叠加,但不能使用wmode:transparent或不透明,因为它对性能影响太大 我发现了下面的插件,它通过使用iframe实现了这一点,但在较新的浏览器中,这一点已经过时了。(在ie6/7中似乎是开箱即用) () 我在这里找到一个帖子,有人解释为什么它不工作,但我一直没能让它工作 原始插件代码是 $.fn.bgIframe = $.fn.bgiframe = function(s) { // This is only fo

我有一个包含flash和菜单的站点,我需要能够将flash与菜单叠加,但不能使用wmode:transparent或不透明,因为它对性能影响太大

我发现了下面的插件,它通过使用iframe实现了这一点,但在较新的浏览器中,这一点已经过时了。(在ie6/7中似乎是开箱即用)

()

我在这里找到一个帖子,有人解释为什么它不工作,但我一直没能让它工作

原始插件代码是

$.fn.bgIframe = $.fn.bgiframe = 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="bgiframe"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.bgiframe', this).length == 0 )
                this.insertBefore( document.createElement(html), this.firstChild );
        });
    }
    return this;
};
$.fn.bgIframe=$.fn.bgIframe=函数{
//这只适用于IE6
if($.browser.msie&&/6.0/.test(navigator.userAgent)){
s=$.extend({
top:'auto',//auto==.currentStyle.borderTopWidth
左:“自动”,“自动==.currentStyle.borderLeftWidth”
宽度:'auto',//auto==offsetWidth
高度:'auto',//auto==offsetHeight
不透明度:对,
src:'javascript:false;'
},s |{});
var prop=function(n){返回n&&n.constructor==Number?n+'px':n;},
html='';
返回此值。每个(函数(){
if($('>iframe.bgiframe',this).length==0)
this.insertBefore(document.createElement(html),this.firstChild);
});
}
归还这个;
};

最后,我成功地重写了插件,使内容能够覆盖在IE的所有版本中,但在其他浏览器中并不十分成功。Firefox无需插件即可覆盖内容