2011-05-17 99 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類」選項對我來說是這樣。