我正在尝试对Google Chrome进行扩展。它将自动单击Google词典结果中的扬声器图标,使其自动发音。

http://www.google.com/dictionary?langpair=en|en&q=love&hl=en&aq=f

我正在使用此代码:document.getElementById(“ pronunciation”)。click()

但是,我想知道为什么它不起作用?实际上,标记确实支持标准方法-如w3schools写道:http://www.w3schools.com/jsref/dom_obj_object.asp

您可以建议任何方法以使其起作用吗?

最佳答案

由于该对象是Flash,因此除非Google在Flash文件中内置了点击支持,否则,向其发送点击事件将不起作用-显然他们没有这样做。

但是,实际的音频文件是Flash程序的参数,并链接到子节点中。

对于给定的示例,它是:“ http://www.gstatic.com/dictionary/static/sounds/de/0/love.mp3”。
这可以通过以下方式获得:

var soundFile = document.querySelector ("#pronunciation a").href;


然后将此文件传递到诸如SoundManager 2之类的库中,您的脚本可以自动播放该文件(可能您的同事/家人对您的灵魂充满怜悯。

关于javascript - 为什么click()在对象标签<object>上不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/6682976/

10-17 03:08