IEを使用しているときにJavaScriptを無効にしようとしています。 template.phpやカスタムモジュールでこれを実現する方法はありますか?Drupalによってプログラム的にJavaScriptが無効にされます
答えて
template.php
にpreprocess_page()フックを使用できます。
function YOUR_THEME_preprocess_page(&$vars) {
if (isset($_SERVER['HTTP_USER_AGENT']) && (strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE') !== false)) {
$vars['scripts'] = 'get a mac!';
}
}
明らかにあなたが出力するHTMLを含む文字列である、$vars['scripts']
のコンテンツを処理する代わりに$ VARS [「スクリプト」]コンテンツをよりインテリジェントな何か:)
素晴らしい提案。オペレーション 'Get a Mac!' $ var ['scripts']は.jsファイルの長い文字列を返します。残念ながら、これは私が望ましくないjavascriptファイルを設定解除できないことを意味します。しかし、提案していただきありがとうございます。 – sisko
@siskoの場合は、その文字列を解析し、必要なものを削除し、残りの部分で$ vars ['scripts']を設定する必要があります。 –
@sisko:おそらくjavascriptファイルのブラウザでスニッフィングを行い、ie6のために別のjavascriptを提供する方が良いでしょうか? –
を行う必要があります、「モジュール」インデックスは、モジュールから追加されたJavaScriptファイルへの参照が含まれてい
$header_javascript = array(
'core' => array(
'misc/jquery.js' => array(
'cache' => TRUE,
'defer' => FALSE,
'preprocess' => TRUE,
),
'misc/drupal.js' => array(
'cache' => TRUE,
'defer' => FALSE,
'preprocess' => TRUE,
),
),
'module' => array(),
'theme' => array(),
'setting' => array(
array('basePath' => base_path()),
),
'inline' => array(),
);
:<head>
タグは、次のいずれかに類似したdrupal_add_js(NULL, NULL, 'header')から返された値を、使用することができます"settings"には、一般的にモジュールによって追加されたすべてのJavaScript設定が含まれ、 "inline"にはインラインJavaScriptコードが含まれます。
異なるJavaScriptファイルを区別する必要がある場合や、「コア」としてマークされているJavaScriptファイルには触れない場合などに役立ちます。
$vars['scripts']
の内容を入力すると、drupal_get_js()のコードの一部を複製する必要があります。カスタマイズされたコードが必要なので、その関数のすべてのコードを複製することはありませんが、それでもその一部を複製します。
Drupal 7では、変数$vars['scripts']
はtemplate_preprocess_page()
(およびモジュールまたはテーマによって実装された同様の前処理機能)にはもう渡されません。 template_preprocess_html()に渡されます。
- 1. onClickListenerによってsetClickable()が無効にされました
- 2. プログラムによって一時的に自動更新を無効にする
- 3. 無効なJSONがWCFによってランダムに返される
- 4. キャッシュされたコレクションがNhibernateによって無効にされていない
- 5. Drupalノードはタクソノミー階層によって再帰的に表示されます
- 6. 無効になっているチェックボックスが無効になっています
- 7. Javascriptが無効になっています
- 8. サーバ設定でラッパーがallow_url_include = 0によって無効にされている
- 9. ANDROIDによってC#に送信された画像が無効です。TCPListener
- 10. Androidでプログラム的にスクリーンスリープを無効にしますか?
- 11. 突然私のアプリでJavascriptが無効にされました
- 12. Drupalのブログエントリはプログラム的に
- 13. ビューではユーザーインタラクションは無効になっていますが、サブビュー(UIButtons)で有効にされています
- 14. サイトアクションボタンが無効にされている
- 15. JButtonが無効になっていると、テキストがグレー表示されます
- 16. GridViewで動的に追加されたチェックボックス列が無効になっています
- 17. jQuery UI buttonsetが無効になっているコンストラクタオプションが無効になっています
- 18. Drupal 7初心者質問:ノードアクセス許可=無効になっていますか?
- 19. JavaScriptとHTMLで選択リストが無効にされています
- 20. IEでドロップスタブが隠されていて無効になっていません
- 21. Javascript character restriction - 無効な文字が一時的に表示される
- 22. 無効になっていますか?
- 23. Androidが無効になっているときにBroadcastReceiverを無効にする
- 24. 前のフィールドにJavaScriptが入力されるまでフォームフィールドを無効にする
- 25. Drupal - CSSキャッシュを無効にする
- 26. Drupal 7のティーザーを無効にする
- 27. taxonomyフィールドを無効にする - drupal 7
- 28. データリスト上のaspボタンのコントロールを有効/無効にするチェックボックスにjavascriptがチェックされていますか?
- 29. Android NavigationViewが表示されるたびにアイテムをプログラムで無効にして有効にする方法
- 30. Drupalモジュールをプログラムで無効にしてアンインストールするにはどうすればいいですか?
なぜですか? ----------- –
@ペッカ:それらを罰する。それはそれらを学ぶでしょう。 –
@Georgeしかし、それを行うにははるかに効果的な方法があります!たとえば、rotten.comやlemonpartyにリダイレクトします。または、[地震効果](http://www.java-scripts.net/javascripts/Windows-Earthquake.phtml)を実行してください(IEではまだ動作します、よ!) –