私はdrupal 6とubercart2を使用しています。カートとチェックアウトページの読み込みにはしばらく時間がかかるため、特定のページで使用されていないjsファイルとcssファイルを削除することを考えています。理想的な方法は何ですか? js集計については知っていますが、最初のアプローチを試してみたいと思います。
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.
}
[〜#〜] 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から含めないでください。
それが役に立てば幸い