我知道这个问题早先被问过,但是OP没有得到任何合适的答案。 所以问题是:
如何访问页面上下文以在FF覆盖中调用某些js函数(在我的情况下为工具栏)。
我有<toolbarbutton>
元素与onclick="nextTrack()"
。在包含的JS文件中声明nextTrack
。按下工具栏按钮时会执行功能,但是我无法执行我确定存在于页面上的功能。
我无法修改页面,因为它是一个外部网站,但我真的想进行扩展。
当然我可以(而且我)使用类似mainDocument.getElementById("player_play").click()
的内容,但页面已经有audioPlayer
对象具有我需要的所有功能:play
,pause
,next
,prev
等。
为了更加清洁,我进行了扩展,以控制vkontakte社交网络(exUSSR国家知名的社交网络)的音频播放器。所以你可以在这里查看示例页面,也许它可以是有用的:http://vk.com/wall6843477_2327。
当你开始倾听时,必须出现带有控件的栏,你可以找到很多东西,比如audioPlayer.nextTrack(); audioPlayer.prevTrack();
等。
答案 0 :(得分:1)
您不是直接访问内容,而是通过XPCNativeWrapper。这意味着内容页面定义的所有JavaScript属性都是不可见的(这是一个安全功能)。在您的情况下,最简单的安全解决方案是使用javascript:
协议:
mainDocument.defaultView.location.href = "javascript:void audioPlayer.play()";
这样你就无法获得结果,但似乎你不需要。