2

Google 크롬 확장 프로그램에서 내 콘텐츠 스크립트을 페이지의 IFRAME에 모두 삽입 할 수 있어야합니다. 이렇게하려면 내 같은 선언 manifest.json 원래 : 나는 같은 선언 된 IFRAME에 걸쳐 올 때까지,이 대부분의 사이트 일 것 같았다Chrome 확장 프로그램의 모든 IFRAME에 콘텐츠 스크립트를 삽입 할 수 없습니다.

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

:

enter image description here (크롬 디버거에서) 이 경우 m에서

<iframe id="wysiwygtext_ifr" src='javascript:""' frameborder="0" allowtransparency="true" title="Rich Text Area." style="width: 100%; height: 341px; display: block;"></iframe> 

:

여기가 그것을 위해 HTML의 y 콘텐츠 스크립트가 해당 IFRAME에 삽입되어 있지 않습니다.

matches 필터를 "matches": ["<all_urls>"]으로 변경하려고 시도했지만 여전히 그럴 수 없습니다.

내용 스크립트IFRAME에 삽입 할 수있는 방법이 있습니까?

답변

6

정확하게 이것은 match_about_blank 플래그가 생성 된 문제입니다. Chrome에서 마침내 안정적으로 출시되었습니다.

"match_about_blank": true을 콘텐츠 스크립트 정의에 추가하기 만하면됩니다.

tabs.executeScript에서도 사용할 수 있습니다. 참조 :

+0

이봐, 당신이 사람이야! 감사. 어떻게 든'match_about_blank' 플래그를 간과했다. 나는 또한'tabs.executeScript' 솔루션을 만났지만 페이지를로드 할 때 컨텐츠 스크립트를 삽입하는 방법을 찾을 수 없었습니다. 그걸 확대 할 수 있니? – c00000fd

+0

모든 페이지를로드 할 때 삽입하려면 콘텐츠 스크립트 정의 만 사용해야합니다. tabs.executeScript를 사용하려면 일반적으로 tabs.onUpdated를 수신하고 각 페이지로드시 tabs.executeScript를 호출하는 백그라운드 페이지를 사용합니다. – Scott

+0

OK 그가 소개 한 iframe에서 "about : blank"iframe을 만들었습니까? 내가 놓친 게 있니? – rogerdpack