Почему click () не работает с тегом объекта <object>? - PullRequest
2 голосов
/ 13 июля 2011

Я пытаюсь сделать расширение для Google Chrome. Он автоматически нажимает на значок динамика в результатах словаря Google, чтобы автоматически произносить слово.

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

Я использую этот код: document.getElementById ("произношение"). Click ()

однако, мне интересно, почему это не работает? на самом деле тег поддерживает стандартные методы - как писал w3schools: http://www.w3schools.com/jsref/dom_obj_object.asp

Можете ли вы предложить какой-либо метод, чтобы он работал?

Ответы [ 2 ]

2 голосов
/ 14 июля 2011

Поскольку объект является флэш-памятью, отправка ему события click не будет работать, если Google не встроит поддержку кликов во флэш-файл, чего они явно не сделали.

Однако фактический аудиофайл является параметром для программы флэш-памяти и связан с дочерним узлом.

Для данного примера это: "http://www.gstatic.com/dictionary/static/sounds/de/0/love.mp3".
Это может быть получено с:

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

Затем передайте этот файл в библиотеку, такую ​​как SoundManager 2 , и ваш сценарий может воспроизвести его автоматически (пусть ваши коллеги / семья пощадят вашу душу. :)).

1 голос
/ 13 июля 2011

Значок воспроизведения - это флэш-плеер.

Скорее всего, событие onclick не на сцене (я не знаю, будет ли это работать даже при нажатии на объект), а на элементевнутри вспышки.

...