私は JavaScript についてほとんど知りませんが、それにもかかわらず、wordpress ブログで何かをまとめようとしています。それは機能していません。解決方法がわかりません。それが StackOverflow の目的ですよね?
まず、エラーメッセージは次のとおりです。
Error: element.dispatchEvent is not a function
Source File: http://.../wp-includes/js/prototype.js?ver=1.6
Line: 3936
ページの読み込み時に発生します。私のページロードハンドラーは次のように登録されています:
Event.observe(window, 'load', show_dates_as_local_time);
他のいくつかのプラグインを無効にすると、エラーはなくなります。これ (およびグーグル) により、プロトタイプと jQuery (他のいくつかのプラグインで使用されている) の間の競合であると結論付けました。
wp_enqeue_script
次に、次のように、JavaScript から Prototype ライブラリに依存関係を追加するために使用するワードプレスの推奨プラクティスに従っています。
add_action( 'wp_print_scripts', 'depo_theme_add_javascript' );
function depo_theme_add_javascript() {
wp_enqueue_script('friendly_dates', 'javascript/friendly_dates.js', array('prototype'));
}
noConflicts
また、jQueryメソッドを使用して解決される jQuery と Prototype の間に競合が発生する可能性があることも認識しています。いろいろなところから電話をかけてみましたがだめでした。これは問題ではないと思います。なぜなら、a)noConflict
関数は$
変数のみに関連しているため、ここでは問題ではないようです.b)ワードプレスがそれを整理してくれるので...
最後に、Venkman デバッガーを使用してelement
、エラー メッセージで参照されている は実際には であるHTMLDocument
が、 も欠落していると判断しましたdispatchEvent
。これが標準の DOM メソッドであることを考えると、これがどのように起こるかわかりませんか?