我在 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
get 之类的内容已更改为click
,但我没有看到有关 Windows Media Player 事件名称的文档。
coffeescript 中的语法,如果需要可以提供 js 替代。