0

何らかの理由で、cssのように、phpを使用してjavascriptファイルを1つのファイルに結合することはできません。

基本的に、すべてのjavascriptファイルを1つにまとめたいと思います。しかし、それはどういうわけか私のコードを壊します。これは、jQueryが生成する$-valueが、残りのコード(jquery uiなど)では利用できないようなものです。

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

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

jQuery-> jQueryUI->jQueryカスタム関数->自分のスクリプト

4

1 に答える 1

0

単一のスクリプトの間に改行やセミコロンを挿入することをお勧めします。たとえば、 https:
//ajax.googleapis.com/ajax/libs/jqueryui/1.8.18/jquery-ui.min.jsから取得した縮小されたjqueryuiスクリプトはで終わります

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(およびその実装)のセミコロンの欠落の動作はかなり奇妙である可能性があり(これは悪い機能です)、固定の「修復文字列」を追加するのではなく、個々のスクリプトを手動で「修正」したいと思います。
  • 私は「グーグルのようなcdnにそれらのjavascriptライブラリをホストさせ、クライアントのキャッシュに依存させる」キャンプに精通しています...しかし、その立場をサポートするための十分な証拠は手元にありません。
于 2012-05-02T08:41:06.593 に答える