2012-12-24 1 views
2

좋아, 그래서 웹 사이트에서 특정 자바 스크립트 함수의 소스 코드를 찾아야합니다. (구체적인 내용은 내가 원하는 것을 수행 할 방법이 없다면 중요하지 않습니다.)자바 스크립트 함수 호출 소스를 찾을 수 없습니다.

html 코드 의 링크에서 함수 호출을 볼 수 있습니다. onclick = "inbox.sendMessage();"

플러그인을 사용하면 해당 페이지에서 함수를 호출 할 수 있기 때문에 해당 함수가 작동한다는 것을 알고 있습니다. 그러나 모든 .js 파일이 해당 페이지에서 참조되며 검색된 함수 중 sendMessage .

내가 물어 보는 것은 코드를 소스 코드로 따라갈 수있는 방법이 있는지, 아마도 HTML을 디버깅하고 onclick이 트리거 된 다음 중단되어 소스 코드를 볼 수있는 방법이있는 경우 일 것입니다 , 그러나 나는 그것을 어떻게 할 수 있는지 또는 가능할 지 모르겠다. 어떤 도움을 주셔서 감사합니다, 고마워요.

+0

그냥 "sendMessage 첨부"의 –

+0

가능한 복제를 검색해보세요 [크롬에서 자바 스크립트 함수 정의를 찾기] (http://stackoverflow.com/questions/9828876/find-javascript-function-definition-in-chrome) – mmcrae

답변

4

난 당신이 할 수있는 것 같아요 :

inbox.sendMessage 

을 웹 콘솔에서. (괄호가없는 함수 이름)
함수의 소스 코드가 출력됩니다.

+0

감사합니다 ! 그것은 작동했습니다 :) – arch

+0

이 웹 콘솔은 어떤 작업을 했습니까?나는 Firefox 26, Menu> Web Developer> 웹 콘솔 (Ctrl + Shift + K)을 사용하여 시도했지만 클릭하면 [object Function]의 오른쪽에 블록이 놓여 있지만 [ 거기에 소스가 표시됩니다. – jla

+0

Firebug를 사용하는 Firefox 및 Chrome에서 작동합니다. http://stackoverflow.com/a/1368185/101151 http://stackoverflow.com/a/9828973/101151 – jla

2

나는 일반적으로 오페라를 사용하고, 그 이상이 내가 무엇에 :

  1. 열기 오페라 잠자리 (+ ICtrl + Shift을).
  2. onclick 처리기가있는 HTML 태그를 클릭하십시오.
  3. 오른쪽 열의 수신기 탭으로 이동하십시오.
  4. click 이벤트의 수신기를 참조하십시오. 그것은 당신에게 파일과 줄 번호를 보여줍니다.
2

sendMessage 첨부 선언 할 수있다 :.

var inbox{ 
    sendMesssage:function(){ 
    } 
} 

//or 

function inbox(){ 
    this.sendMessage=function(){ 
    } 
} 

// or 

inbox.sendMessage=function(){} 

// or ... 

그래서 "(sendMessage 첨부"를 찾고 또는 "기능 sendMessage 첨부가"당신에게 아무것도 찾을 수 없습니다

크롬에서

, 인터넷 익스플로러와 파이어 폭스 (개똥 벌레와) 당신은 F12을 쳐서이 당신이 된 스크립트를 동적으로이로드 수도로로드 된 스크립트를 확인하실 수 있습니다, 디버그에 갈 수 있습니다.

0
#!/usr/bin/env ruby 


Dir::glob("*").each do |name| 

     lineCount = 1 

     File.open(name, "r").each do |line| 
      puts "\nFile name: " + name + "\nline: " + lineCount.to_s if line =~ /inbox.sendMessage/ && name != "findfunction.rb" 
      lineCount += 1 
     end 



end 

가 빠른 쓴 루비 스크립트는 당신을 도와줍니다. 실행하려면 먼저 컴퓨터에 루비 인터프리터가 있는지 확인한 다음 모든 관련 파일이있는 디렉토리에 스크립트를 배치하십시오. 명령 줄 터미널을로드하고 해당 디렉토리로 이동 한 다음 "ruby findfunction.rb"를 입력하십시오.

"inbox.sendMessage"의 모든 인스턴스 (파일 + 회선 번호)를 알려줍니다.

관련 문제