2012-09-12 4 views
2

iframe이 포함 된 새 창이 열릴 때마다 iframe 내에서 텍스트를 미리 강조 표시 할 수있는 방법이나 확장 프로그램이 있습니까? 나는 많은 연장을 시도했다 그러나 그들 모두는 작동하지 않는다. 특정 키워드를 기반으로 콘텐츠를 필터링해야하며 콘텐츠가 iframe 내에 있습니다. CTRL + F로 할 수 있지만 찾을 수있는 각 기사 내에 10-15와 같은 많은 키워드가 있습니다. 그래서 그것은 내 일을 매우 힘들고 시간을 소비하게 만든다. 제가 크롬에서 시도한 확장 기능은 다중 형광펜, 진주, FF이지만 그 중 아무 것도 작동하지 않는 것 같습니다.크롬 확장 프로그램을 통해 iframe의 내용에 액세스 할 수 있습니까?

이러한 확장 프로그램이 iframe 내 콘텐츠에 액세스 할 수없는 이유, 즉 출처 정책에 기인 한 이유도 알고 있습니다.

하지만 1 년 전 나는 iframe이 포함 된 새 크롬 창을 열 때마다 양식 요소를 미리 선택할 수있는 '자동 채우기'라는 크롬 확장 프로그램을 사용했음을 기억합니다.

그래서 어떤 문제가 있습니까?

답변

2

매니페스트 파일의 콘텐츠 스크립트 섹션에서 all_frames를 true로 설정하여 http://developer.chrome.com/extensions/content_scripts.html#registration에 모든 프레임의 콘텐츠 스크립트를 문서로 실행하도록 확장 권한을 설정할 수 있습니다. 해당 페이지에서 구글의 예에 추가 매니페스트 파일의 일부 당신은 콘텐츠 스크립트는 상위 페이지 및 하나에 대해 한 번 페이지에 삽입 될 것 때문에 조심해야합니다

{ 
    "name": "My extension", 
    ... 
    "content_scripts": [ 
    { 
     "matches": ["http://www.google.com/*"], 
     "css": ["mystyles.css"], 
     "js": ["jquery.js", "myscript.js"], 
     "all_frames": true 
    } 
    ], 
    ... 
} 

처럼 보일 수 있습니다 페이지의 각 iFrame 콘텐츠 스크립트가 페이지의 모든 프레임에 삽입되면 텍스트를 찾고 강조 표시하여 마법을 사용할 수 있습니다.

+0

당신이 제안한 것을 시도했습니다. 해당 확장명의 .crx 파일을 다운로드하고 .zip 파일로 변경 한 다음 manifest.json을 편집하여 "all_frames"를 포함합니다 : true. 그런 다음 파일을 압축하고 파일 형식을 .crx로 변경했습니다. .crx 파일을 브라우저에 설치하려고 시도하는 동안 오류가 발생했습니다 : 패키지가 잘못되었습니다 : 'CRX_MAGIC_NUMBER_INVALID'. 어떻게 해결할 수 있습니까? – Hammad

+0

좋아요. 연장을 포장하는 방법을 알아 냈습니다. 크롬 브라우저를 통해 확장 프로그램을 압축하려고하면 다음과 같이 표시됩니다. Manifest가 유효한 JSON 파일이 아닙니다. 줄에서 구문 오류, 20 열 4, 구문 오류가 발생했습니다. 20 행은 "all_frames"를 추가 한 행입니다. true – Hammad