2012-07-21 39 views
1

我正在研究HTML5 Boilerplate模板和Modernizr。在測試某些功能時,我嘗試着實施一些polyfills。 好吧,一切似乎工作正常,但鉻得到一個錯誤:它似乎嘗試在Modernizr後立即加載jQuery,即使它不應該!事實上,Modernizr下面沒有腳本標記... Chrome在做什麼?Modernizr和jQuery的Chrome問題

The image shows Chrome Dev Tools

+0

這是一個實際的屏幕截圖? – 2012-07-21 10:00:17

+0

是的,是的。取自開發者工具,就像 – Carlo 2012-07-21 10:05:04

+1

已解決!如果網頁在線,Chrome工作正常。只有當我打開文件的本地副本時彈出錯誤... – Carlo 2012-07-21 10:14:17

回答

4

這是因爲你在加載//ajax.googleapis.com。

它必須是http:或https:

然後,它會在本地工作。

我目前正試圖找出解決這個問題的一種自動方法。像...如果https能夠,然後https:其他http:

解決方案:好的,你可以寫一個JS單行三元來檢測文件:協議,然後分配https:或http:,或者你可以簡單通過像WAMP這樣的服務器運行你的網站,它會檢測協議。

https://github.com/h5bp/html5-boilerplate/blob/master/doc/faq.md

+0

公平起見,我認爲這不是導致錯誤的協議相對url,而是它不在服務器上運行。 'file:'實際上是正在使用的正確協議。但是,http或https幫助:) – drublic 2012-09-19 20:12:00

+0

你stalkin我? :) – Cory 2012-09-19 20:30:23

+0

哈哈:D Nah,剛剛訪問了您在HTML5 Boilerplate的問題中發佈的鏈接。 – drublic 2012-09-19 21:41:09

0

我覺得dru​​blic是正確的。看起來你正在從本地磁盤打開該頁面,而不是通過Web服務器。

如果您沒有在鏈接資源中指定協議(方案),瀏覽器將使用與託管頁面相同的協議。所以使用//ajax.googleapis.com...是正確的,並且不需要特殊的腳本來推斷使用的協議。

這裏是相關stackoverflow question

指向這個blog post