将jQuery $ .support输入FireBug控制台返回的项目列表是什么?

时间:2010-07-19 10:06:27

标签: jquery dom browser console firebug

我正在观看Lullabot jQuery视频,其中一位教师建议使用 $ .support 命令检查当前浏览器支持的所有可用功能。所以当我进入

$.support

进入控制台我得到了这个链接

Object { leadingWhitespace=true,  more...}

当我点击它时,FireBug打开DOM选项卡并显示此列表

alt text http://lh4.ggpht.com/_rNlSpSUBkYo/TEQiNVQWWHI/AAAAAAAAABo/JqBV7peQQXE/jQuery_$.support_DOM.png

我认识到列出的某些对象,如样式不透明度。我在编写CSS时使用它们。

  • 我看到的其他熟悉的名字 boxModel cssFloat 但是他们怎么写在这里 '小写后跟大写' 时尚?
  • 这些意味着什么?
  • 他们是Javascript条款吗?
  • 我可以在哪里了解这些列出的元素的含义?

谢谢,
亚当

4 个答案:

答案 0 :(得分:1)

初始小写大小写的camelCase是javascript命名约定。原生js函数以相同的方式命名:getElementById

该项目列表只是浏览器执行或不符合的标准列表。整个列表(包含说明)可在文档中找到 - jQuery.support

答案 1 :(得分:0)

因为camelCase是JavaScript中广泛接受的命名约定 - 因此jQuery开发人员使用它。

答案 2 :(得分:0)

我不能说出它们的意思,但格式化没有什么特别之处(好的是CamelCase)和术语。这些只是support对象的属性,jQuery使用这些属性来确定浏览器的功能。

例如,如果opacity设置为false,则fadeOut()只会使元素消失而不会淡出。

所以这只是jQuery在运行时确定行为。

答案 3 :(得分:0)

camelCase是javascript库中非常流行的命名约定: http://google-styleguide.googlecode.com/svn/trunk/javascriptguide.xml#Naming

这些功能与浏览器中的Javascript,HTML,CSS支持有关,因为不同的浏览器支持不同的东西。

你可以在这里找到文档,解释jQuery方面的事情: http://api.jquery.com/jQuery.support/

您还可以在类似项目中找到更多信息,其中更多的目标是支持HTML5: http://www.modernizr.com/docs/

您是否应该关注支持状态完全取决于您的用户群是谁!我使用谷歌分析与modernizr来跟踪我关心的功能的状态,因此我可以为我的用户开发相应的支持。

您可以在http://www.balupton.com/sandbox/jquery-lightbox/demo/的观看源底部看到要进行跟踪的代码,但现在是:

<!-- Google Analytics --> 
<script type="text/javascript"> 
    //<![CDATA[
    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
    //]]>
</script>
<script type="text/javascript" src="./scripts/modernizr-1.5.min.js"></script> 
<script type="text/javascript"> 
    //<![CDATA[
    try {
        var pageTracker = _gat._getTracker("UA-4446117-1");
        pageTracker._initData();
        pageTracker._setCustomVar(1, "html5.boxshadow", Modernizr.boxshadow ? "yes" : "no" , 2 );
        pageTracker._setCustomVar(2, "html5.multiplebgs", Modernizr.multiplebgs ? "yes" : "no", 2 );
        pageTracker._setCustomVar(3, "html5.fontface", Modernizr.fontface ? "yes" : "no", 2 );
        pageTracker._setCustomVar(4, "html5.csstransitions", Modernizr.csstransitions ? "yes" : "no", 2 );
        pageTracker._setCustomVar(5, "html5.borderradius", Modernizr.borderradius ? "yes" : "no", 2 );
        pageTracker._trackPageview();
    } catch(err) {}
    //]]>
</script>

您还可以在此处查看全局浏览器实施状态: http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML_5)

jQuery实现$.support,例如它可以检测浏览器是否支持getElementsByClassName,这比手动执行搜索要快得多。

希望有助于交配!