ExternalInterface.call вызывает ошибку в IE - PullRequest
1 голос
/ 25 мая 2009

У меня есть экран меню, который по разным причинам состоит из нескольких кнопок в виде отдельных видеороликов. Когда нажимают кнопку внутри этих фильмов, предполагается, что она вызывает функцию javascript для перехода на соответствующую страницу. Он отлично работает в Firefox, но в настоящее время не работает в IE7. У меня нет IE6 под рукой для тестирования. Это ошибка, которую я получаю в IE:

Line:1
Char:25
Error: Expected ';'
Code:0

Я не могу определить, что на самом деле может означать символ 25 строки 1. Я получаю сообщение об ошибке только тогда, когда нажимаю на кнопку, и после установки Visual Web Developer, чтобы попытаться получить некоторую фактическую отладку, кажется, что она фактически не запускает вызываемую функцию, поэтому кажется, что ошибка происходит в какой механизм на самом деле заставляет работать ExternalInterface.call?

Код во флэш-фильме буквально просто:

ExternalInterface.call('gohere',skip_id);

Там, где skip_id передается в фильм как flashvar, кажется, что оно имеет смысл, поскольку я могу напечатать его в текстовое поле внутри flash-фильма. Функция javascript одинаково сложна:

function gohere(i){
    lo.skipto(i);
}

Но, как я уже сказал, он даже не обнаружится, если я поставлю точку останова здесь и отладю ее. Если я добавлю ссылку javascript: gohere ('id') в html-экран и нажму, что она работает нормально. У меня есть ExternalInterface.call, работающий в других частях того же проекта, и я не вижу никаких различий в том, как он был реализован.

Идеи

Ответы [ 2 ]

1 голос
/ 27 мая 2009

Оказывается, у меня был - в идентификаторе тега объекта, который IE не воспринимает любезно.

вздыхает

0 голосов
/ 25 мая 2009

Я ужасно отлаживаю такого рода вещи, особенно в IE, поэтому для начала я бы добавил "alert ()" в мой gohere. Затем я начал бы вставлять возврат каретки в свой javascript, смотрел, перемещается ли строка с ошибкой, и вычислял ее с помощью дедукции.

Кроме того, есть часть программного обеспечения под названием IETester, которая должна показать вам, как будет выглядеть ваша страница в IE 5.5 / 6/7 / 8RC1.

...