2011-03-30 23 views
0

Drupal 7でOmegaテーマを使用しています。mytheme.infoのデフォルトJavaScriptファイルを宣言できます。しかし、これはグローバルに宣言されており、毎回、すべてのノード、つまりjsファイルを必要としないノードでもロードされます。これはリソースを消費し、サイトをより遅くすることになります。"デフォルトのJavaScriptが含まれていると宣言しています" - 一部のノードでのみロードする

jsファイルが特定のノード専用であると指定する可能性はありますか?

答えて

1

あなたのカスタムモジュールのinitフックからjsを追加することをお勧めします。

mymodule_init(){ 
    if(arg(0)=='node' && is_numeric(arg(0)) && node_load(arg(1))->type == 'my_content_type'){ 
    drupal_add_js(path_to_my_js);  
    } 
} 
1

使用drupal_add_js()、多分phptemplate_preprocess_html内とその周りにあなたの状態を包む...知らんあなたは変数引数でNIDを持っている場合..あなたはオンにした場合CURRENT_PATH()

1

を使用し、他のJavaScriptの最適化はありますが、mytheme.infoで指定されたすべてのJavaScriptファイルを1つのファイルにマージして、サイトのパフォーマンスには効果があります。

あなたがそうでなければ、デバッグ、ライブサイトを入れているとき、それはおそらく最高これをやっているだろうことは少しトリッキーなことができ

:)

drupal_add_js機能を使用すると、ページ固有のJavaScriptを追加助けるべきだと失敗します。

関連する問題