首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >带jquery浏览器的bgiframe

带jquery浏览器的bgiframe
EN

Stack Overflow用户
提问于 2014-01-31 15:51:30
回答 1查看 1K关注 0票数 0

下面是使用jQuery 1.5版本的旧jQuery代码。作品

代码语言:javascript
复制
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

在这里,我们应该检查功能支持,而不是检查浏览器版本和名称。但是我真的不明白,我怎么才能用特性来检查下面的场景。我应该探测到什么特征?

代码语言:javascript
复制
if ($.browser.msie && parseInt($.browser.version) < 7) { 
    $('#pageMask').bgiframe(); // why the hell it is for IE<7
} 
EN

回答 1

Stack Overflow用户

发布于 2014-01-31 16:01:22

你有几种选择:

( 1)除非仍然需要支持IE6,否则只需删除以下三行:

代码语言:javascript
复制
if ($.browser.msie && parseInt($.browser.version) < 7) { 
    $('#pageMask').bgiframe(); 
} 

2)当前版本的插件已经测试了IE6,默认情况下,只有在浏览器为IE6时才是活动的。它使用userAgent字符串标识IE6.

因此,您可以更改以下内容:

代码语言:javascript
复制
if ($.browser.msie && parseInt($.browser.version) < 7) { 
    $('#pageMask').bgiframe(); 
} 

只是为了这个:

代码语言:javascript
复制
$('#pageMask').bgiframe(); 

而且,对于不是IE6的浏览器,它也不会做任何事情。

3)如果您想要使用特征检测,就需要针对此插件试图修复的问题设计一个特征检测算法。如果存在问题,请使用插件。如果问题不解决,那么你就不需要插件了。我不太明白插件想解决什么问题,所以我不知道在这里该如何建议你。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21484216

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档