gpt4 book ai didi

javascript - 使用 javascript 检测控制台事件

转载 作者:行者123 更新时间:2023-11-29 10:39:53 24 4
gpt4 key购买 nike

我正在尝试使用 javascript 检测 HBO Go 电影何时完成。不幸的是,HBO Go 使用 Flash,而我没有 Flash 经验。

我注意到当电影结束时,Chrome javascript 控制台显示如下:

00:02:30:0596 TimeEvent.COMPLETE
(anonymous function) @ VM12786:1

我关注了 VM12786:1 并发现了这个:

try { __flash__toXML(console.error("00:02:30:0596 TimeEvent.COMPLETE")) ; } catch (e) { "<exception>" + e + "</exception>"; }

我不太清楚这两个是什么意思。有人可以简要解释一下吗?我已广泛搜索,但没有找到我理解的任何内容。

而且,有什么方法可以用 javascript 或 jQuery 检测到它已被触发吗?

最佳答案

这里简要介绍了这些 JS 位:

try {
__flash__toXML(console.error("00:02:30:0596 TimeEvent.COMPLETE"));
} catch (e) {
"<exception>" + e + "</exception>";
}

__flash__toXML函数是一种允许Flash程序通过JavaScript与网页通信的机制(简要说明here,无关文章)。该片段似乎是处理视频结束事件的更大部分的一部分。

奇怪的字符串看起来像是一段无用的代码,只是作为占位符存在,但我需要查看上下文才能更好地理解它。事实上,它什么都不做。

这是我对您问题的回答:

不幸的是,您无法直接为控制台操作捕获任何事件。您需要将触发自定义事件的函数替换为您自己的函数,然后处理该事件。 This article很好地解释了这个过程。您需要修改内部 intercept 函数以触发主窗口上的事件,您可以在 traditional ways 中处理该事件:

$(window).trigger("myapp.console.log");

注意:这可能不适用于内容脚本,但这是高级的并且取决于实现。如果您使用的是注入(inject)浏览器的东西,替换函数只会影响内容脚本的沙箱。

关于javascript - 使用 javascript 检测控制台事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31105796/

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