web-dev-qa-db-ja.com

ページから不要なjsおよびcssファイルを削除する最適な方法

私はdrupal 6とubercart2を使用しています。カートとチェックアウトページの読み込みにはしばらく時間がかかるため、特定のページで使用されていないjsファイルとcssファイルを削除することを考えています。理想的な方法は何ですか? js集計については知っていますが、最初のアプローチを試してみたいと思います。

2
loparr

AdvAgg モジュールはこれをかなり簡単に行うことができます。この構文は6.xと7.xで異なります。これは6.xのフック構文です。 hook_css_alter()hook_js_alter() in Drupal 7.と非常によく似た動作をします。7. D7 BTWでこれらのフックを使用する方法です。

hook_advagg_css_pre_alter(&$css, $preprocess_css, $public_downloads) {
  // Remove css files.
}
hook_advagg_js_pre_alter(&$js, $preprocess_js, $public_downloads) {
  // Remove js files.
}
1
mikeytown2

[〜#〜] foad [〜#〜] テクニックを見て、スタイルシートとスクリプトを取り除く。それはあなた自身のテーマで起こります。

別のルートを取り、 Stylestripper moduleまたは Mothership base themeのようなものを使用できます。

「ページから不要なjsおよびcssファイルを削除するための最適な方法」という質問を参照して、このアプローチが機能することを願ってください:

1)js&cssファイルを、該当する適切なフックの下にのみ含めます

2)-のような構文を使用します

drupal_add_js(drupal_get_path( 'module'、 'module_name')。 '/js/js_file_name.js'); drupal_add_css(drupal_get_path( 'module'、 'module_name')。 '/css/css_file_name.css');

3)このような構文を使用して、設定変数を設定し、ビヘイビアー内でイベントを呼び出す前にjsファイルをチェックインできます。

モジュールファイルで:

drupal_add_js(array( 'module_name' => array( 'variable_name' => some_value))、 'setting');

Jsファイルで::


   Drupal.behaviors.testName = {
     attach: function (context, settings) {
       if(typeof Drupal.settings.module_name != 'undefined' 
    && 
    Drupal.settings.module_name.variable_name == some_value){
      // Do SOMETHING
       }
     }
  };

4)コードにjs&cssファイルがすでに含まれている場合は、より適切な方法で実行できるため、それに応じてコードを変更する必要があります。例えば、

Js&cssファイルをhook_node_viewに含めることができる場合(たとえば、D7標準に基づく)、それをhook_initから含めないでください。

それが役に立てば幸い

0
dhrubaj