2012-09-28 58 views
1

我在我的網站上運行Modernizr的完整開發版本,而在Modernizr中包含html5shiv時,它似乎並未運行。如果我將html5shiv作爲單獨的腳本添加到頁面中,那麼一切都很好。 Modernizr的其餘部分也工作得很好。我是否必須以某種方式初始化Modernizr中的html5shiv?文檔使它看起來像是自動運行。HTML5 Shiv未使用Modernizr初始化

這裏是我的頁面的頭部代碼:

<script src="/assets_site/js/head.load.min.js"></script> 
<script> 
    head.js(
    { modernizr: '/assets_site/js/modernizr.js' }, 
    { jquery: '//ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js' }, 
    { placeholder: '/assets_site/js/jquery.placeholder.min.js' }, 
    { response: '/assets_site/js/jquery.response.min.js' } 
); 
</script> 

而單獨html5shiv代碼,一直工作在那裏的Modernizr所沒有的:

<!--[if lt IE 9]> 
    <script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script> 
<![endif]--> 

愚蠢的問題,但我寧願困惑。謝謝。

回答

2

啊,算出來了。問題是我是個笨蛋。

html5shiv在Modernizr中加載得很好,但我也有設置爲在該條件IE代碼段內運行的respond.js。當我刪除html5shiv腳本時,我隨之移除了respond.js,這導致佈局變得焦躁不安。我完全無視媒體查詢部分,並認爲這是一個html5問題。

神祕解決了(儘管我不是個蠢貨)。

2

兩件事:

  1. 你檢查了下腳包含在 下載? http://modernizr.com/download/
  2. 你的文檔中的哪個地方是 你正在載入modernizr.js嗎?可能需要將其加載到頭部 而不是頁面的底部。
+0

是的,我會說包括Modernizr與head.js分開。 – Tyssen