2

特に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
         )

これは問題なく、エラーをスローすることなく実行されますが、イベント ハンドラー関数は決して起動されません。onclickget のようなものが に変更されていることに気付きましたclickが、Windows Media Player のイベント名に関するドキュメントは見当たりませんでした。

coffeescript の構文は、必要に応じて js の代替を提供できます。

4

0 に答える 0