Я унаследовал некоторый код, мне не разрешено слишком сильно меняться, так как мой босс считает, что это будет слишком много работы (сайт действительно, действительно ужасный). Существует функция javascript, которая предназначена для воспроизведения звука onclick
, который отлично работает в первый раз, когда он вызывается, а второй я получаю ошибку Uncaught TypeError: object is not a function
.Uncaught TypeError: объект не является функцией во втором вызове
Вот код, переменные чудовищно по имени, к сожалению:
function FP_playSound(path) {
var b, d = document, e, es, i, se = "<EMBED SRC='" + path + "' HIDDEN=TRUE LOOP=FALSE AUTOSTART=TRUE>";
if (d.body)
b = d.body;
if (d.getElementsByTagName) {
es = d.getElementsByTagName('embed');
for (i = 0; i < es.length; i++) {
e = es(i);
if (e.src == path) {
if (e.removeNode) e.removeNode();
break;
}
} if (b != null && b.insertAdjacentHTML) b.insertAdjacentHTML("beforeend", se);
}
}
и вот один из вызовов:
<img id="img1" alt="" onclick="FP_playSound(/*url*/'sound/nikon-shutter.wav'); menue01_click(); " onmouseout="FP_swapImgRestore()" onmouseover="FP_swapImg(1,1,/*id*/'img1',/*url*/'images/menue01_ro.png')" class="style2" src="images/menue01.png" />
Там нет никакого конфликта с именованием функции и любой идентификаторы. Это что-то, о чем я должен знать в javascript? Нужно ли мне изменять функцию или вызовы?
Спасибо! Я заметил аналогичную проблему для кого-то другого на днях (в Python), очень раздражающего, что я его пропустил. Я приму свой ответ, как только смогу. Ура! –