gpt4 book ai didi

javascript - 如何在不使用额外脚本标签的情况下订阅 Windows Media Player 事件?

转载 作者:行者123 更新时间:2023-11-29 19:36:02 25 4
gpt4 key购买 nike

我正在 HTML 页面中嵌入 Windows Media Player 控件。

<object width="720"
height="480"
id="Player"
classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6">
<!-- <param> tags left out -->
</object>

要从控件订阅事件(例如 PlayStateChange(newState) ),我必须添加 <script>标记,如下所示:

<script language="JScript" for="Player" event="PlayStateChange(newState)">
var newStateText = document.createTextNode('' + newState);
var playStateContainer = document.getElementById('PlayState');
while (playStateContainer.firstChild) {
playStateContainer.removeChild(playStateContainer.firstChild);
}
playStateContainer.appendChild(newStateText);
</script>

有没有一种方法可以通过纯 JavaScript 订阅这些事件(没有额外的 <script> 标签用于我感兴趣的每个控件实例上的每个事件)?

有了 5 个控件实例和 5 个我也想订阅的事件,这将是 25 个脚本标记。此外,该控件包装在外部 JavaScript 文件中的一些库代码中。事件处理代码也应该在那里,而不是在客户端应用程序的 HTML 中。

最佳答案

根据 this MSDN article(参见 命名约定Automagic 部分),您可以将所有事件处理程序写在同一个 <script> 标签内,前提是您将函数命名为 objectname::eventname 或ojit_代码:

<script language="JScript">
function Player::playStateChange(newState) {
...
}

function Player.currentPlaylistChange(change) {
...
}
</script>

虽然我没有尝试过这个。当然,这都是 IE 特有的。

关于javascript - 如何在不使用额外脚本标签的情况下订阅 Windows Media Player 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25019704/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com