1


0

JavaScript、EnhanceJSの読み込み

スクリプトをコンマで区切って、次のようなjsスクリプトをロードすることは可能ですか?


私はフィラメントグループプログレッシブエンハンスメントJavaScriptライブラリ「EnhanceJS」を使用しており、この手法が効果的に使用されているWebサイトwww.filamentgroup.comから学習しようとしています。別の例:


私が同じことをしようとしてfirebugを見ると上記のコードがありますが、詳しく調べると「リクエストされたURL /js/jquery.js,jquery.plugins.js,common.jsが見つかりませんでした」というエラーが表示されますこのサーバー。

プログレッシブエンハンスメントは私にとって非常に新しいものであり、このJavaScriptの読み込み方法を処理するために特定の方法でサーバーセットが必要かどうかはわかりません。

編集:

ロードされるJSファイルには、次のような残りのスクリプトをロードする構成ファイルがあります。

/* Copyright Filamentgroup.com: EnhanceJS configuration for screen/mobile enhancements */
//common script dependencies
var baseScripts = '/js/jquery.js,jquery.plugins.js,common.js';

//check for mediaq support, base screen type on it
var screenMedia = enhance.query('screen and (max-device-width: 1024px)') ? 'screen and (device-min-width: 5000px)' : 'screen',
handheldMedia = 'screen and (max-device-width: 1024px)';

//call enhance() function, include relevant assets for capable browsers
enhance({
loadStyles: [
    {media: screenMedia, href: '/css/screen.css'},
    {media: handheldMedia, href: '/css/handheld.css'}
],
loadScripts: [
    'http://ajax.googleapis.com/ajax/libs/jquery/1.4.0/jquery.min.js',
    {media: screenMedia, src: baseScripts+',screen.js'},
    {media: handheldMedia, src: baseScripts+',handheld.js'}
],
forcePassText: 'Enhanced version',
forceFailText: 'Basic version'
});

2 Answer


1


これは以前にコメントとして投稿しましたが、適切と思われるため、回答として投稿します。

HTML ``

</ code>要素は、1つの要素に複数のスクリプトを含めることをサポートしていません。 Webサイトで機能する理由は、文字通り<code> enhance.js、enhance.config.js </ code>と呼ばれるJavaScriptファイルがあり、使用する他のすべてのスクリプトでも同様であるためです。 これらのファイルは、サーバー側で生成されるか、何らかのコンパイラを使用して舞台裏で作成されると推測しています。</ p> <p>これらのいずれもクライアント側で実行されていないため、検索を停止できます。これに対するJavaScriptソリューション。 通常どおり、スクリプトを1つずつ読み込みます。</ p>


0


これはおそらく、http://www.artzstudio.com/2008/08/using-modconcat-to-speed-up-render-start/ [mod_concat]のようなものを使用して、サーバー上のファイルをオンデマンドで連結している可能性があります。