2011-06-27 6 views
2

私は現在、自分のレイアウトの中に別々のjavascriptファイルを持っていますが、私はGoogleのCDNを使ってそれをクリーンアップしようとしています。Google CDN JQueryのロードが機能しない

現在の状態(恐ろしい私が知っている):私は運を取得していないのです

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

...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" %> 

私は(ファイルの長いリストで)一番下のタグから第二を交換しようとしましたそれは、Googleのファイルがまったく存在しないかのように見えます(私は自分のページソースをチェックして読み込まれています)。私はここで間違って何をしていますか?

答えて

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が失敗すると、ローカルコピーが取得されます。

+0

あなたの答えに感謝します。私は、Google Jquery-UIファイルが取得されていると述べましたが、何らかの理由で私のドキュメントがそこにないかのように動作しています。 UIタブやUIプログレスバーなどが失われたように振る舞います。 – sscirrus

+0

@sscirrusあなたができることは、ローカルシステム上のすべてのファイルを使ってアプリケーションを実行することです。その後、ゆっくりCDNに渡してください。 jQueryメインから始め、UIに移動してからプラグインに移動して、それがどのように機能するかを確認してください。あなたはおそらくプロセスの 'バグ'をキャッチします... – Frankie

+0

小さな部分は、プロトコル部分を指定する代わりに、 "//ajax.googleapis.com/..."で始まります。ページが使用されると(http/https)。 – Tracker1

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明度テーマのです。 CDNには他のテーマもあります(すべてではありません)。私はあなたが迅速なGoogle検索でそれらを見つけることができると確信しています。

関連する問題