我的问题是关于用户正在加载的页面上存在的运行脚本。例如,如果您转到控制台并输入:
,则在YouTube视频上播放player = document.getElementById('movie_player');
然后您可以使用以下方式与播放器进行互动:
player.getDuration();
或
player.playVideo();
但是我搜索并研究了一种从firefox扩展程序执行此操作的方法,我发现找到的只是对XPCNativeWrapper的引用,但没有真正的解决方案。
所以,我想说我想从firefox扩展程序中获取视频时长,在我的main.js代码中,我使用page-mod来检测youtube视频页面加载。然后在contentScriptFile中我获得了嵌入式Flash播放器的ID,但我无法与之交互。实际上在扩展devolopement控制台中我得到一个错误,说函数getDuration()不存在。从我在其他帖子上看到的内容,这与Xray vision(XPCNativeWrapper)有关。
我的问题是我不知道如何使用Xray vision将命令发送到我不拥有的网页内容。
PS:我是firefox扩展编程的新手,对你来说似乎很容易,但我真的很感激任何帮助或领导。
答案 0 :(得分:1)
很抱歉,我在右侧面板上找到了我的问题旁边的答案! 对于那些正在寻找同样问题的人:
var player = document.getElementById('movie_player').wrappedJSObject;
应该这样做。