3

サイトの他のすべてのページとは非常に異なる方法で使用している drupal ページがあります。

このページに一連の特殊な js をロードするモジュールがあります。私の JS は、他のモジュールまたはおそらく drupal コアの js とうまく連携しないことがわかりました。

その特定のページで他のモジュールが drupal_add_js を実行しないようにするにはどうすればよいですか。

ありがとう!

4

1 に答える 1

4

drupal_add_js()これらのモジュールのコードをハッキングする以外に、他のモジュールの呼び出しを防ぐ方法はありません。

「1 ページの例外」の場合、関数を実装し、コンテンツを独自のスクリプト インクルージョン マークアップmyModule_preprocess_page() に置き換えることができます (同様に確認する必要がある場合があります)。$variables['script']$variables['closure']

または、そのページに特定のバージョンの page.tpl.php を実装し、$scripts変数の出力を独自の出力に置き換えるだけです。

両方の回避策の提案は特別な状況では有効な解決策になる可能性がありますが、JavaScript が「他のモジュールの js でうまく機能しない」理由を確認することを強くお勧めします。JavaScript の競合は、多くの場合、1 つまたは複数のスクリプト内のバグ/ずさんなコードの兆候であるため、長期的に維持するのが難しい回避策を実装するよりも、それらを見つけて修正することに時間を費やす方がよい場合があります。

于 2010-03-03T09:48:53.730 に答える