2012-05-02 7 views
0

なんらかの理由で、私はCSSでできるように、PHPを使って1つのファイルにjavascriptファイルを結合できません。複数のjqueryファイルを結合する

基本的には、すべてのjavascriptファイルを1つにまとめたいと考えています。しかし、それは何とか私のコードを壊す。 jQueryが生成する$値のようなものは、残りのコード(jquery UIなど)では使用できません。

何らかの理由でjQueryを独自の<script type="text/javascript" src=""></script>にロードする必要がありますか?その理由は何ですか?

私はそれらをブラウザで動作するのと同じ順序で含めます。

jQueryの - > jQueryのUI - > jQueryのカスタム関数 - >私自身のスクリプト

+0

どのような順序で結合していますか? – Jivings

+0

ありがとう、私の答えを更新しました。 –

+1

私は1.7.3でこの問題を1回経験しました。これは、縮小されたスクリプトの最初/最後に構造化されたコメントの仕方と関係がありました。コードがコメントアウトされていたか、コメントがコード化されていました。簡単な修正でした。あなたのソースを見て、各スクリプトの最初/最後に何が起きているのかを見てください。 –

答えて

0

あなたは、単一のスクリプト間の新しいラインおよび/またはセミコロンを置きたいかもしれません。
など。あなたは今あなたが最も可能性の高い構文エラーになりますその背後に別のスクリプトを追加する場合は、https://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.jsから入手縮小さjqueryのUIスクリプトが

return this}})}(jQuery) 

で終わります。
は、粗scripts.php

<?php 
header('Content-type: Application/javascript'); 
readfile('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'); 
readfile('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js'); 

echo '$(document).ready(function() { 
    alert("hello"); 
    $("#dialog").dialog("open"); 
}); 
'; 

、これは動作しませんを取ることができますが、

<?php 
header('Content-type: Application/javascript'); 
readfile('http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js'); 
echo "\r\n;"; 
readfile('http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.js'); 
echo "\r\n;";  
echo '$(document).ready(function() { 
    alert("hello"); 
    $("#dialog").dialog("open"); 
}); 
'; 

意志。考慮すべき

他のもの:

  • これはおそらく銀の弾丸ではありません。私は "\ r \ n;"を選んだa)最後の行の//コメントからエスケープし、b)セミコロンで "open"ステートメントを閉じます。しかし、javascriptのセミコロンの振る舞い(とその実装)はむしろ奇妙であり(悪い機能です)、固定の "修復文字列"を追加するのではなく、個々のスクリプトを手動で "修正"したいと思います。
  • 私は「googleのようなGoogleのJavaScriptライブラリをホストし、クライアントのキャッシュに頼っています」というのは大変ですが、その立場を支持する手がかりとしては十分な証拠がありません。
+0

すぐにこれを見ていきます。まれに、これらのサイトで遅れて自分のサイトがダウンし、私のアンチウィルスプログラムがJavaScriptからGoogle URLをブロックしたケースがあったからです。 –

+0

はい、それは有効な点です。いくつかの(私の場合は役に立たない)facebook api thingyが検索できないため、ハングするサイトを嫌います: - googleapi cdnで気づいたことはありません - 免責条項付きで:広範な調査なし。 – VolkerK

+0

彼らのサーバーは高速で、ブラウザはキャッシュに必要なファイルが少なくて済むので、googleでホストするのもいいです。 –

関連する問題