Мне интересно, почему, когда я вызываю: eval («myFunc (1,2,3)») в консоли Firebug на отображаемой странице, функция выполняется должным образом , но когда я вызываю один и тот же eval внутри javascript внутри этой страницы, я получаю сообщение «не определено», которое появляется в консоли Firebug. Часть моей проблемы заключается в том, что у меня нет контроля над входящим HTML/JS, и я не могу найти, где функция определена. Поэтому я думаю, что мои вопросы: почему я получаю эту ошибку и как я могу найти, где определена функция, которую я пытаюсь вызвать? Если я вытащил источник страницы, я могу видеть вызовы функции, но я не вижу, где она определена.Javascript eval приводит к «неопределенной функции», но работает в Firebug
0
A
ответ
2
Если вы просматриваете источник, вы также сможете увидеть любой JS в исходном коде и любых прикрепленных js-файлах - вы сможете загрузить их и открыть их в своем редакторе, а затем найти.
1
Функция, вероятно, определена во внешнем файле. В firebug, если вы просто набрали myFunc
(без паретинга), вы сможете получить ссылку на клик для источника.
Причина, по которой он не работает в вашем eval-скрипте, вероятно, что он выполняется до того, как функция определена. Попробуйте отложить его, скажем, поместив его в загрузку страницы или прослушиватель событий.
Так что я сделал это ... очень полезно, и теперь я вижу, где он определен. Это действительно файл javascript из внешних источников (src =). Мой вопрос сейчас ... Я замечаю, что кажется, что он передает какой-то параметр, когда он загружается. Он выглядит так: Что такое «? T = 8» Проходит ли параметр? – GregH
возможно - если он использует его в скрипте, найдите var t - может быть просто анти-кеширование. – matpol