2011-09-16 30 views
0

蔭目前想知道HTML5BP一些事情......HTML5Boilerplate/include庫 - 備用?

我想包括jQuery Mobile的和JQuery UI和蔭不知道這是正確的方式:

<body> 
    <!-- scripts and fallback to local --> 
    <script src="//code.jquery.com/jquery.min.js"></script> 
    <script src="//code.jquery.com/mobile/latest/jquery.mobile.js"></script> 
    <script src="//code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script> 
    <script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script> 
    <script>window.jQuery || document.write('<script src="js/libs/jquery-ui.min.js"><\/script>')</script> 
    <script>window.jQuery || document.write('<script src="js/libs/jquery.mobile.min.js"><\/script>')</script> 
    <!-- end scripts and fallback to local --> 

    <!-- scripts concatenated and minified via ant build script--> 
    <script src="js/plugins.js"></script> 
    <script src="js/script.js"></script> 
    <!-- end scripts concatenated and minified via ant build script--> 

事情爲什麼蔭不知道是,當Iam在代理之後並且不允許訪問互聯網時,我期望本地回退能夠工作,但不是。 Iam得到認證錯誤,頁面沒有加載。

這是如何正確包含它的方式?

在腦子裏,我預取:

<link rel="dns-prefetch" href="//code.jquery.com" /> 

謝謝!

回答

1

不知道你是否仍然在這裏尋找援助,但這裏走了。你的DNS預取是正確的,並且腳本加載基本上是正確的,有兩個問題:

  1. 你唯一的檢查是jQuery加載你的回退。這意味着如果jQuery加載正確,但出於某種原因,jQuery UI或Mobile不會爲您的回退工作。不完全可能,因爲你從同一地點加載,但仍然...
  2. 您的訂購是,imo,錯了。我認爲你應該在每一次之後立即檢查 - 只是不那麼容易混淆。它也使得難以搞砸的加載順序 - 下面的移動檢測很可能會錯誤,如果jQuery不是首先加載...

我修改了下面的代碼。請注意,移動檢測是我自己的發明(最近5分鐘)。它的工作,但我不能保證堅如磐石的真棒!

<body> 
    <!-- scripts and fallback to local --> 
    <script src="//code.jquery.com/jquery.min.js"></script> 
    <script>window.jQuery || document.write('<script src="js/libs/jquery-1.6.2.min.js"><\/script>')</script> 
    <script src="//code.jquery.com/ui/1.8.16/jquery-ui.min.js"></script> 
    <script>window.jQuery.ui || document.write('<script src="js/libs/jquery-ui.min.js"><\/script>')</script> 
    <script src="//code.jquery.com/mobile/latest/jquery.mobile.js"></script> 
    <script>window.$.mobile || document.write('<script src="js/libs/jquery.mobile.min.js"><\/script>')</script> 
    <!-- end scripts and fallback to local --> 

    <!-- scripts concatenated and minified via ant build script--> 
    <script src="js/plugins.js"></script> 
    <script src="js/script.js"></script> 
    <!-- end scripts concatenated and minified via ant build script--> 
+0

你是怎麼測試它的?使用你的版本完全殺死我的代碼:)沒有什麼工作了)=) – zyrex

+0

這很奇怪..我剛剛創建了一個頁面,並將其放入。仍適用於我。你得到什麼錯誤?什麼瀏覽器(以防萬一)。如果你刻意打破jQuery CDN版本,你是否100%確信你的本地副本的路徑工作?如果你嘗試加載jquery mobile而沒有其他兩個,你會得到一個嚴重的失敗 – lnrbob

0

+1 lnrbob

我平時也做了有條件的jQuery版本減倉向上翻頁正常瀏覽器和送舊的jQuery的啞彈。

<!--[if (gte IE 9) | !(IE)]><!--> 
    <script src="//ajax.googleapis.com/ajax/libs/jquery/2.0.3/jquery.min.js"></script> 
    <script>if (!!window.jQuery && jQuery().jquery !== '2.0.3') document.write('<script src="<?= ASSETS ?>js/jquery.2.0.3.min.js" type="text/javascript"><\/script>')</script> 
<!--<![endif]--> 
<!--[if lte IE 8]> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> 
    <script>if (!!window.jQuery && jQuery().jquery !== '1.10.2') document.write('<script src="<?= ASSETS ?>js/jquery.1.10.2.min.js" type="text/javascript"><\/script>')</script> 
<![endif]-->