JavaScriptでHTMLのvideo要素を操作
今まで、video要素のloadメソッドを以下のように書いていました。(jQueryを使用しています)
$(function(){ $("#video要素のID").attr("src", "videoファイルへのパス"); $("#video要素のID").load(); }
jQuery3系を使ってみたかった
WordPressの案件で使用していて、WordPress4.9.1現在でのWordPress同梱のjQueryのバージョンは1.12.4なのですが、これをjQueryの最新の3系にかえてみようと思ってWordPressのキューに追加。
wp_enqueue_script( 'jquery3', 'https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js', array(), ""1.0.0, true );
これで、実行!……したら盛大にコケました。
loadメソッドのエラー
jQuery3系からloadメソッドが廃止になったのが原因。そりゃあ動かない。そこで、loadメソッドの部分を以下のように書き換えました。
$(function(){ $("#video要素のID").attr("src", "videoファイルへのパス"); $("#video要素のID").trigger("load"); }
動いた!\(^o^)/
そうかtriggerメソッドで指定すれば良いのか。jQuery1系からあるメソッドなので、これで統一したほうが良さそう。(jQuery1.12.4で動作しました)
…というよりWordPressの他のプラグインでJavaScriptを使用しているのもあるので、WordPress同梱のjQueryを使うべきかと思った。(結局)