2

現在、レイアウトの1つに個別のJavaScriptファイルの醜い配列があり、GoogleCDNを使用してクリーンアップしようとしています。

現在の状態(私が知っている恐ろしい):

...css...  
<%= yield :head %>

<%= javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js" %>
<script type="text/javascript" src="http://cdn.jquerytools.org/1.2.5/all/jquery.tools.min.js"></script>
<%= javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js" %>
<%= javascript_include_tag "ui/jquery.ui.core", "ui/jquery.effects.core",
   "ui/jquery.effects.highlight", "ui/jquery.ui.widget", "ui/jquery.ui.tabs",
   "ui/jquery.ui.progressbar" %>
<%= javascript_include_tag "jquery.ui.stars.min", "application", "rails" %>

下から2番目のタグ(ファイルの長いリスト)を次のように置き換えてみました:

<%= javascript_include_tag "https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.13/jquery-ui.min.js" %>

私はそれで運が良くありません-グーグルファイルがまったくそこにないようです(私は私のページソースをチェックしました、そしてそれはロードされます)。私はここで何が間違っているのですか?

4

2 に答える 2

4

それを RAILS に変換する方法はわかりませんが、この単純な HTML でうまくいくはずです。

<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
    if(typeof jQuery == 'undefined') {
        //<![CDATA[
        document.write("<script src='/includes/jquery-1.4.2.min.js' type='text/javascript'><\/script>");
        //]]>
    }
</script>

これは、jQuery ファイルが に保存されていることを前提としています/includes/jquery-1.4.2.min.js
Google の CDN が失敗すると、ローカル コピーが取得されます。

于 2011-06-27T23:57:16.853 に答える
3

古い投稿を掘り起こして申し訳ありませんが、質問が実際に回答されたかどうかはわかりません。

私はあなたと同様の問題を抱えていましたが、解決策は実際には非常に単純でした.CSSを含めていませんでした. Google の CDN を介して行うこともできます。

<link href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-lightness/jquery-ui.css" media="screen" rel="stylesheet" type="text/css" />

また

<%= stylesheet_link_tag 'http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/themes/ui-lightness/jquery-ui.css' %>

明らかに、これは ui-lightness テーマ用です。CDN には他にもテーマがあります (すべてではありません)。Google検索で簡単に見つけることができると思います。

于 2011-11-11T16:38:53.523 に答える