我在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
)
这没关系,它运行时没有抛出错误,但是,事件处理函数永远不会被触发。我注意到onclick
之类的内容已更改为click
,但我没有看到有关Windows Media Player事件名称的文档。
coffeescript中的语法,如果需要,可以提供js替代。