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

标签 javascript jquery flash

我正在尝试使用 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/

相关文章:

javascript - 使用标签而不是 anchor 文本

javascript - 禁用动态启用文本字段

javascript - jQuery PhoneGap 应用程序中的 Javascript 定时长按

flash - Actionscript - 获取当前函数的名称

javascript - 为客户提供免费的 pdf 阅读器

java - 在网页上播放音频流

javascript - 如何使用 OAuth2 从 linkedin 获取最近的公司更新

javascript - 如何使用 JavaScript 找到 HTML 元素相对于整个桌面屏幕的位置?

javascript - 使用 JSF 2.0 Ajax 响应访问 bean 函数的返回值?

javascript - 来自 Asp 核心 Controller 的 Api 未收到 FormData.append(key,value) 附加的所有值