如何在 firefox 扩展中使用 youtube API?

How to use youtube API in firefox extension?

我的问题涉及用户正在加载的页面上存在的 运行 脚本。例如在 youtube 视频上,如果您转到控制台并键入:

player = document.getElementById('movie_player');

然后您可以使用以下方式与玩家互动:

player.getDuration();

player.playVideo();

但我搜索并研究了一种从 firefox 扩展程序中执行此操作的方法,我所能找到的只是对 XPCNativeWrapper 的引用,但没有真正的解决方案。

假设我想从 firefox 扩展中获取视频持续时间,在我的 main.js 代码中,我使用 page-mod 来检测 youtube 视频页面加载。然后在 contentScriptFile 中,我得到了嵌入式 Flash 播放器的 ID,但我无法与之交互。事实上,在扩展开发控制台中,我收到一条错误消息,指出函数 getDuration() 不存在。根据我在其他 post 上的阅读,这与 Xray 视觉 (XPCNativeWrapper) 有关。

我的问题是我不知道如何使用 Xray vision 向不属于我的网页内容发送命令。

PS:我是 Firefox 扩展编程的新手,这对您来说似乎很容易,但我真的很感激任何帮助或指导。

抱歉提问,我在右侧面板的问题旁边找到了答案! 对于那些正在寻找相同问题的人:

var player = document.getElementById('movie_player').wrappedJSObject;

应该可以解决问题。