特にIE11で作業しているコードベースで問題に遭遇しました。
IE の他のバージョンでは、Windows Media Player から発生する「OpenStateChanged」という特定のイベントを聞くことができます。
document.getElementById('video-player').attachEvent("OpenStateChanged",
(newState) =>
)
IE11 でコードを実行すると、Object doesn't support property or method 'attachEvent'
サポートされなくなったためエラーが発生します。そのため、新しい を使用できるかどうかを確認するためにコードを変更しましたaddEventListener
。
if (document.getElementById('video-player').addEventListener)
document.getElementById('video-player').addEventListener("OpenStateChanged",
(newState) =>
console.log newState
#MediaOpen state
if newState == 13
//do stuff
)
else
document.getElementById('video-player').attachEvent("OpenStateChanged",
(newState) =>
#MediaOpen state
if newState == 13
//do stuff
)
これは問題なく、エラーをスローすることなく実行されますが、イベント ハンドラー関数は決して起動されません。onclick
get のようなものが に変更されていることに気付きましたclick
が、Windows Media Player のイベント名に関するドキュメントは見当たりませんでした。
coffeescript の構文は、必要に応じて js の代替を提供できます。