使用jquery浏览器的bgiframe

时间:2014-01-31 15:51:31

标签: javascript jquery bgiframe

这是我使用jQuery 1.5版本的旧jQuery代码。作品

jQuery.fn.ShowPageMask = function() { 
    var maskHeight = $(document).height(); 
    if ($.browser.msie && parseInt($.browser.version) < 7) { 
        $('#pageMask').bgiframe(); 
    } 

    $('#pageMask').css({ 'filter': "alpha(opacity=50)" }); 
    $('#pageMask').css({ '-moz-opacity': "0.6" }); 
    $('#pageMask').css({ '-khtml-opacity': "0.6" }); 
    $('#pageMask').css({ 'opacity': "0.6" }); 
    $('#pageMask').show(); 
    $(window).resize(function() { 
        $('#pageMask').setFullWidth(); 
    });

现在我们最近更新到jQuery 1.9.1并收到错误$.browser

这里不是检查浏览器版本和名称,而应检查功能支持。但我真的不明白,我怎么能用功能检查下面这个场景..我应该检测哪些功能?

if ($.browser.msie && parseInt($.browser.version) < 7) { 
    $('#pageMask').bgiframe(); // why the hell it is for IE<7
} 

1 个答案:

答案 0 :(得分:0)

您有几种选择:

1)除非你仍然需要支持IE6,否则你可以删除这三行:

if ($.browser.msie && parseInt($.browser.version) < 7) { 
    $('#pageMask').bgiframe(); 
} 

2)插件的当前版本已经测试IE 6,默认情况下,只有在浏览器是IE 6时才会激活。它使用userAgent字符串来识别IE 6。

所以,你可以改变这个:

if ($.browser.msie && parseInt($.browser.version) < 7) { 
    $('#pageMask').bgiframe(); 
} 

就是这样:

$('#pageMask').bgiframe(); 

而且,对于不是IE 6的浏览器,它什么都不做。


3)如果您想使用特征检测,则需要针对此插件尝试修复的问题设计特征检测算法。如果问题存在,则使用插件。如果问题不明确,那么您不需要插件。我不太明白插件试图解决的问题所以我不确定如何在这里给你提供建议。