2009-12-03 4 views
0

렌더링 된 페이지의 Firebug 콘솔에서 eval ("myFunc (1,2,3)")을 호출하는 이유가 궁금합니다. 함수가 제대로 실행됩니다. ,하지만 그때 내 페이지 안에 javascript 내에서 동일한 평가판을 호출하면 방화 광 콘솔에서 팝업 "정의되지 않았습니다"오류가 발생합니다. 내 문제는 내가 들어오는 HTML/JS를 제어 할 수 없기 때문에 함수가 정의 된 부분을 찾을 수없는 것입니다. 그래서 내 질문에, 왜 내가 그 오류가 발생하고 호출 할 함수를 정의 된 찾을 수 있습니까? 페이지 소스를 당겨 보면 함수에 대한 호출을 볼 수 있지만 정의 된 부분은 표시되지 않습니다.Javascript eval은 "정의되지 않은 함수"가되지만 Firebug에서 작동합니다.

답변

2

원본을 보면 소스 코드와 첨부 된 js 파일에서 JS를 볼 수 있습니다. 다운로드 한 다음 편집기에서 열어서 찾을 수 있어야합니다.

+0

이렇게 했어 ... 매우 도움이되었고 이제는 정의 된 부분을 볼 수있다. 그것은 실제로 외부 소스 (src =) javascript 파일입니다. 지금 제 질문은 ...로드 될 때 일종의 매개 변수를 전달하는 것처럼 보입니다. 다음과 같이 보입니다 : "? t = 8"은 무엇입니까? – GregH

+0

아마도 - 스크립트에서 var t를 찾는다면 안티 캐싱 일 수도 있습니다. – matpol

1

아마도이 기능은 외부 파일에 정의되어 있습니다. 방화 광복에서 myFunc (공석없이)을 입력하면 클릭 할 수있는 링크를 얻을 수 있습니다.

eval-script에서 작동하지 않는 이유는 아마도 함수가 정의되기 전에 실행되고있는 것일 수 있습니다. 페이지로드 또는 domready 이벤트 리스너에 넣는 등의 작업을 지연시켜보십시오.