2011-08-11 6 views
1

크롬 확장에 content_scripts를 사용하여 새 사이트를 여는 이벤트를 잡습니다. 그러나이 사이트를 클릭하면 나를 하위 사이트로 리디렉션하는 링크로 이벤트가 시작되지 않습니다.Chrome 확장 프로그램에서 클릭 가능한 링크 클릭을 잡는 방법?

링크 클릭을 처리하기 위해 다시로드를 사용하는 일반적인 사이트는 아닙니다. (? AJAX) 링크를 클릭 한 후 나는 같은 리디렉션 해요 :

http://somesite.com/page#something

그래서 나는 그것이 동적으로로드 된 것 같아요. 이 페이지를 다시로드하는 모든 이벤트를 처리하는 방법은 무엇입니까?

URL 입력란뿐 아니라 링크를 클릭하여 페이지를로드하는 모든 이벤트를 잡는 방법은 무엇입니까?

+0

죄송합니다. 귀하의 질문은 명확하지 않습니다. 어쩌면 코드를 제공 할 수 있습니까? – serg

+0

Unf. 내 웹 사이트가 아니기 때문에 아니오. 그리고 나는 전체 웹 사이트의 어떤 부분이이 질문에 중요한지 정말로 모른다. –

+2

나중에 참조 할 수 있도록 Chrome 개발자 도구를 사용하여 요소에 클릭 수신기를 설정하십시오 (오른쪽 패널의 '스크립트'탭에서 '이벤트 수신기'로 스크롤하고 '마우스'섹션을 펼치고 "클릭"이벤트). 이렇게하면 디버거가 클릭시 일시 중지되고 실제로 진행되고있는 것을 확인할 수 있습니다. –

답변

4

당신은 mousedown 이벤트를 후크해야 할 것입니다. jQuery로는 다음과 같습니다

$('a').mousedown(function(){ 
alert($(this).attr('href')); 
}); 

당신은 당신이 할 필요가 무엇이든 다음 $(this)href의 값을 검사해야합니다.

작업중인 페이지와 같은 사운드에는 프레임이있어서 content_scripts 섹션 아래 매니페스트에 "all_frames": true이 필요합니다.

관련 문제