1

웹 사이트의 <a> 태그에서 onmousedown 이벤트를 제거하는 Google 크롬 확장 프로그램을 작성하려고합니다.Google 크롬 확장 프로그램 콘텐트 스크립트를 통해 DOM 요소에서 'onmousedown'이벤트 제거

이전에 해당 사이트는 onmousedown 이벤트를 DOM의 일부로 사용 했으므로 콘텐츠 스크립트를 통해 element.removeAttribute("onmousedown")으로 쉽게 제거 할 수있었습니다. 하지만 이제는 자바 스크립트를 통해 해당 이벤트를 추가하므로 content script을 통해 해당 이벤트를 직접 제거 할 수 없습니다. 다른 자바 스크립트 컨텍스트에서 실행됩니다.

추신 : 특히 Google 검색 결과 페이지의 링크에서 onmousedown 이벤트에 대해 이야기하고 있습니다. 이전에는이 ​​small piece of code이 사용되었지만 지금은 onmousedown이 DOM의 일부가 아니므로 아닙니다.

var all_main_links = document.getElementsByClassName("r"); 
for (i=0; i<all_main_links.length; i++){ 
    var current_link = all_main_links[i].childNodes[0]; 
    current_link.removeAttribute("onmousedown"); 
    } 
+0

가 [페이지의 컨텍스트에 코드를 주입]를 살펴 보자를 스크립트를 삽입하는 것입니다 (HTTP ://stackoverflow.com/questions/9515704/building-a-chrome-extension-in-code-in-a-page-using-a-content-script). 유일한 방법 일 수 있습니다. – Xan

+0

나는 [이 질문] (http://stackoverflow.com/q/24718605/2336725) 이상으로 의아해하고 있었고, @Xan은 무슨 일이 일어나고 있는지 알았을지도 모른다. – Teepeemm

+0

@Xan 그 링크는 확실히 내 문제를 도왔고 해결했습니다. 감사 :) –

답변

0

콘텐츠 스크립트는 javascript 개체 (예 : javascript에 의해 선언 된 onmousedown 이벤트)에서 액세스 할 수 없습니다. 그들은 샌드 박스에서 실행됩니다.

그러나 당신이 할 수있는 것은 느릅 나무 종료를 (스크립트 태그) 페이지의 선두에있는 이벤트 :