17

자바 스크립트를 문서 페이지에 삽입하는 것에 대한 많은 질문/답변이 있습니다. 내가 정말로하고 싶은 것은 자바 스크립트를 문서 내의 iframe에 삽입하는 것이다.크롬 확장을 사용하여 iframe에서 자바 스크립트 삽입

iframe은 문서와 동일한 도메인에 속하지 않습니다. 나는 콘솔을 통해 (확장을 통하지 않고) 이미 시도했지만 그렇게 할 수 없었다.

크롬 확장을 사용하여 수행 할 수있는 작업인지 궁금합니다.

답변

38

예,이 같은의 manifest.json content_scripts 속성을 사용할 수 있습니다 : 당신은/주입합니다 trueall_frames을 설정하여

"content_scripts": [{ 
    "matches": ["http://*/*", "https://*/*"], 
    "js": ["content_frame.js"], 
    "all_frames": true 
}], 

상위 문서 및 모든 iframe으로 content_frame.js 자바 스크립트 파일을 포함한다.

if (parent === top) { 
    // here you can put your code that will run only inside iframe 
} 
+1

난 그냥 초보자 해요, 날짜까지 하나의 확장을 코딩했습니다 경우 당신은 자바 스크립트 iframe에 주입하지만 상위 문서에이처럼 content_frame.js 파일 내에서 확인할 수 있습니다 필요가 없습니다. 완전한 예제 나 내가 할 수있는 링크가 있습니까? –

+0

@coding_idiot 나는 나의 대답을 조금 더 확장했고 content_scripts 사용법에 대한 문서에 대한 링크를 추가했다. 지금은 더 분명해지기를 바랍니다. –

+1

'include_globs'와'exclude_globs'를 사용하여 스크립트에서 if 문을 수행하는 대신 특정 프레임을 타겟팅 할 수 있습니다 : https://developer.chrome.com/extensions/content_scripts#include_globs – jkupczak

관련 문제