Javascript Eval приводит к «неопределенной функции», но работает в Firebug - PullRequest
0 голосов
/ 03 декабря 2009

Мне интересно, почему, когда я вызываю: eval ("myFunc (1,2,3)") в консоли Firebug на визуализированной странице, функция выполняется правильно, но когда я вызываю тот же eval внутри с помощью javascript внутри затем страница, я получаю ошибку «не определено», которая появляется в консоли Firebug. Часть моей проблемы заключается в том, что я не контролирую входящий HTML / JS и не могу найти, где определена функция. Итак, я думаю, мои вопросы: почему я получаю эту ошибку и как я могу найти, где определена функция, которую я пытаюсь вызвать? Если я открываю источник страницы, я вижу вызовы функции, но не вижу, где она определена.

Ответы [ 2 ]

2 голосов
/ 03 декабря 2009

Если вы просматриваете исходный код, вы должны иметь возможность видеть любой JS в исходном коде и любые вложенные js-файлы - вы должны быть в состоянии загрузить их и открыть их в редакторе, а затем выполнить поиск.

1 голос
/ 03 декабря 2009

Функция, вероятно, определена во внешнем файле. В firebug, если вы просто наберете myFunc (без парантеза), вы сможете получить кликабельную ссылку на источник.

Причина, по которой он не работает в вашем eval-скрипте, вероятно, заключается в том, что он выполняется до определения функции. Попробуйте отложить его, скажем, поместив его в обработчик событий загрузки страницы или domready.

...