2011-05-17 34 views
7

我似乎无法获得modernizr在我的网站上工作。我已经将javascript文件添加到一个文件夹中并向他们呼叫。我也添加了非js到html,但仍然没有。Modernizr的帮助?

当我查看源代码时,它不会像它应该填充html一样。

我不使用它的CSS3元素又那么我不需要任何备用的风格,我只是希望能够用更多的语义标签,如头,导航,页脚等

这是我的文档代码:

<!DOCTYPE html> 

<html class="no-js" lang="en"> 
<head> 
    <meta charset=utf-8> 
    <title></title> 
    <!--[if IE]> 
    <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"> 
    </script> 
    <![endif]--> 

    <script type="text/javascript" src="/js/modernizr-1.7.min.js"></script> 
+0

你能提供一个链接到你的网站?你想在本地做什么? – Duopixel 2011-05-17 10:23:00

+0

不,它托管在服务器上。对不起,不能提供一个链接到我身边不幸的是,但我可以发布任何需要的代码和编辑任何东西。 – 2011-05-17 10:32:06

+1

如果您使用Modernizr,那么您不需要HTML5Shiv,因为Modernizr包含该功能。另请参阅:http://stackoverflow.com/questions/3855294/html5shiv-vs-dean-edwards-ie7-js-vs-modernizr-which-to-choose/3855343#3855343 – Spudley 2011-05-17 10:51:12

回答

5

这很可能是一个路径问题。尝试更换时间

<script type="text/javascript" src="/js/modernizr-1.7.min.js"></script> 

随着

<script type="text/javascript" src="http://ajax.cdnjs.com/ajax/libs/modernizr/1.7/modernizr-1.7.min.js"></script> 

,也可能是工作,但不是很明显。请记住,当您查看源代码时,您看不到Modernizr类,您需要FF上的Firebug或Chrome上的Developer Tools等工具来实际检查后JavaScript代码。

额外的测试会做这样的事情......

.borderradius body { 
    background: #c00; 
} 

如果背景是红色,则Modernizr的运行。

+0

嗯,它似乎正在运行,检查它在Firefox上。目前困惑...像标题和页脚标签不工作,虽然在非HTML5浏览器?我认为moderizr的重点是它将用非HTML5支持的浏览器的div替换头文件? – 2011-05-17 10:36:25

+1

不,你的假设是不正确的,它不能用div替换HTML5元素,它只是做HTML5shiv的功能,并且使浏览器例如IE 8及以下,意识到它们的存在给它们。 – 2011-05-17 11:20:06

+0

虽然相同的原则。我的标题标签可以在支持html5的浏览器上正常工作,但在非标头上不会显示或呈现呢? – 2011-05-17 11:37:24

0

您在这里没有任何样式,但可能您没有将HTML5元素定义为display:block? Modernizr本身并没有这样做,所以如果你不把它添加到你的CSS中,你仍然不会得到你期望的结果。

9

自己跑进这个问题。确保您在运行时查看页面。当您查看页面源时,js调用不会被执行,它不会替换no-js。如果您使用的是Chrome,那么使用他们的元素检查器。

+0

这让我绊倒了,好的小费谢谢! – Galaxy 2012-08-20 23:47:13

+0

是的 - 当您在Chrome开发人员工具元素检查器中查看页面时,您可以看到所有类 – 2013-02-25 21:47:22

0

为了记录我也有这个问题。经过很长时间的测试后,我发现从自定义构建中删除“添加CSS类”选项对我来说是这样。