我注意到在很多模板引擎中,在HTML5 Boilerplate中,在各种框架和普通的php站点中都有no-js类添加到<HTML>标签上.
为什么这样做?是否存在某种对此类做出反应的默认浏览器行为?为什么总是包括它?如果没有no-"no-js"情况并且html可以直接解决,那么这不会使类本身过时吗?
以下是HTML5 Boilerplate index.html中的示例:
<!--[if lt IE 7 ]> <html lang="en" class="no-js ie6"> <![endif]-->
<!--[if IE 7 ]> <html lang="en" class="no-js ie7"> <![endif]-->
<!--[if IE 8 ]> <html lang="en" class="no-js ie8"> <![endif]-->
<!--[if IE 9 ]> <html lang="en" class="no-js ie9"> <![endif]-->
<!--[if (gt IE 9)|!(IE)]><!--> <html lang="en" class="no-js"> <!--<![endif]-->
Run Code Online (Sandbox Code Playgroud)
如您所见,<html>元素将始终具有此类.有人可以解释为什么经常这样做吗?
我正在寻找建立我的第一个HTML5网站,并一直在寻找与IE合作.
有html5shiv,Dean Edwards ie7-js然后是Modernizr.这些都大致相同吗?我对哪条路线感到困惑.
这可能是一个愚蠢的问题,但我想使用Modernizr JS库来检测某些浏览器属性,以确定要显示或不显示的内容.
我有一个名为Pano2VR的应用程序,它输出HTML5和SWF.我需要HTML5 for iOS设备用户.
但是,IE根本不会呈现此"HTML5"输出.似乎他们的输出使用CSS3 3D变换和WebGL,IE9中显然不支持一个或多个.
因此,对于那些用户,我需要显示Flash版本.我打算使用IFRAME并通过Modernizr脚本传递SRC或document.write出正确的IFRAME代码,具体取决于浏览器.
所有这些都导致我如何使用Modernizr来检测IE或IE?或者检测CSS 3d变换?
或者还有另一种方法吗?
应该是对Modernizr JavaScript文件的引用是否在页面的头部?我总是尝试将所有脚本放在页面底部,并希望保留它.如果它需要在头脑中,为什么?
我刚开始在我的文档中使用HTML5和CSS3.我理解JavaScript需要使用这些新标签和样式来加快Internet Explorer的速度,但我不知道使用哪个以及何时使用!
我的计划是使用html5shiv和IE9.js来管理HTML5标签以及透明的png(以及他们修复的其他任何麻烦的错误),然后引起我的注意Modernizr和CSS3 Pie.
我的问题是,如果我使用Modernizr,它是否需要html5shiv以及IE9.js?或者我也应该包括这些?重叠是什么?
而且,Modernizr或其他人没有做什么CSS3 Pie?或相反亦然?
我感谢你们的帮助.让我知道你做了什么!?
1)如果我已经在使用Modernizr,那么我是否需要HTML5 Shiv才能为IE启用HTML5标签支持?
2)HTML5 Shiv仅适用于IE,还是所有没有本机HTML 5支持的浏览器?像旧版本的Firefox,Safari,Chrome等?
我想在我的网站上使用html5标签进行移动视图,当用户从移动设备点击此链接时,它会在给定的号码上拨打电话.
<p>Book now, call <a href="tel:01234567890">01234 567 890</a></p>
Run Code Online (Sandbox Code Playgroud)
当用户移动设备是非html5时,我该怎么做才能隐藏此链接..我已经通过了modenizer但似乎它不会检测到链接属性. http://www.tutorialspoint.com/html5/html5_modernizr.htm
有什么建议吗?此按钮仅在我的网站在移动设备上打开时出现,对于移动设备,我想在旧手机中打开时隐藏此链接.
我正在仔细评估利用Modernizr和Respond.js进行响应式设计的最佳方式,并为社区提出了几个问题.
首先,我的理解是,在将Modernizr与Respond.js捆绑在一起时,IE8及以下版本的媒体查询支持不需要其他编码或测试.换句话说,当Respond.js与Modernizr捆绑在一起时,我只需要在我的源代码中加载Modernizr以使Respond.js处于活动状态.正确?
其次,您是否认为这是在IE8及以下版本中获得媒体查询支持的最有效方式?从本质上讲,我将包括一个比已经支持媒体查询的浏览器所需的更大的Modernizr脚本.如果对媒体查询的测试失败,分离两个脚本并且只加载Respond.js会不会更有效率?
第三,如果我想分开这两个脚本,你认为如果需要加载Respond.js的最佳方法是什么?一种选择是使用IE特定的条件注释来加载Respond.另一个选择是使用yepnope和Modernizr测试媒体查询支持并在需要时加载Respond.哪个更有效,更具有故障性.
最后,如果我选择分离这两个脚本并使用Modernizr加载Respond,如果需要,我遇到了以下两种技术:
<script>
yepnope({
test : Modernizr.mq('(only all)'),
nope : ['js/libs/respond.min.js']
});
</script>
Run Code Online (Sandbox Code Playgroud)
要么
<script>Modernizr.mq('(min-width:0)') || document.write('<script src="js/libs/respond.min.js"><\/script>')</script>
Run Code Online (Sandbox Code Playgroud)
我发现第二次崩溃IE8,但必须只需要重写.你会推荐哪种技术?
谢谢你的帮助.
我想使用Modernizr来检测用户是在桌面,平板电脑还是移动设备上查看网站.
我最初的第一个想法显然是检查屏幕尺寸应该足够用于移动设备以及更大的桌面.对于屏幕尺寸也可能与小型桌面屏幕(1024 x 768)相同的平板电脑设备,我也会测试触摸事件.
在这个时候,我想专注于移动/平板电脑设备,就像jQuery mobile所说的那样,A级.我不打算使用任何特定的移动设备功能,只需检测桌面,平板电脑或移动设备,并根据测试结果附加CSS类,为每个设备提供量身定制的UI.
你认为这足以实现我想要的,或者你认为我应该测试其他功能吗?提前谢谢了.
使用Twitter Bootstrap实现Modernizr是否可以?
我目前正在使用带有Google的html5shiv的Bootstrap,我想知道我是否可以使用Modernizr,或者只是为了让老版IE浏览器激活HTML5元素而过度杀戮?
提前致谢