2

我在 IE11 中使用的代码库中遇到了一个问题。

其他版本的 IE 允许我收听一个名为“OpenStateChanged”的特定事件,它像这样从 Windows Media Player 触发。

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