2017-12-28 74 views
0

나는의 manifest.json에서 다음과 같은 권한이 : 아직도배경 페이지에서 코드를 삽입 할 수 없습니다

"permissions": [ 
    "*//*/*", 
    "http://*/", 
    "https://*/", 
    "activeTab", 
    "tabs", 
    "storage", 
    "bookmarks" 
] 

나는 배경 페이지에서,하지만 어떻게 든 팝업에서 작동 executeScript 수를 페이지.

Unchecked runtime.lastError while running tabs.executeScript: Cannot access contents of url " https://github.com/NeilLi1992/LightMarker/blob/master/js/background.js ". Extension manifest must request permission to access this host. at chrome-extension://aciimkfhggbanpmpngahlofjocidjfko/src/js/background.js:152:29

내가 하드 코딩 된 권한 섹션에서 https://github.com/, 그것은 여전히 ​​작동하지 않습니다에 시도 : 나는 다음과 같은 오류가 발생했습니다.

chrome.tabs.executeScript(728, { code: "alert(123);" }); 

728

그냥 탭을 만들 때 내가 로그인 한 TABID, 그래서 유효입니다 :

나는 배경 페이지의 DevTools로 코드의 조각을 테스트했다.

위의 오류가 백그라운드 devtools에서 발생했습니다. 그러나 그것은 팝업의 devtools에서 할 때 잘 작동합니다. 이미 *//*/* 알아 낸 것처럼

+0

'* * */* "'이 (가) 유효하지 않을 수 있습니다. 그러나 그것없이, 여전히 같은 오류. –

답변

0

은 무효 출처 간 권한입니다. 이런 식으로 대신 사용하십시오.

"permissions": [ 
    "https://*/*", 
    "http://*/*", 
    "tabs" 
    ] 

또는 좁은 범위의 사용 권한을 제공합니다. 프로그램 분사에 대한 자세한 읽기

"permissions": [ 
    "https://*/*", 
    "http://*/*", 
    "activeTab" 
    ] 

: https://developer.chrome.com/extensions/content_scripts#pi

0

원격 파일을로드하지 마십시오주십시오, 당신의 프로젝트에 관련 파일을 다운로드하여 실행 해보세요. web_accessible_resources의 파일 참조를 추가하십시오 작동하지 여전히 하나를 수행 한 후

더 참조 용 manifest.json을 다른 답변을 https://developer.chrome.com/extensions/manifest/web_accessible_resources

0

감사 때문이다. 그러나 그들은 작동하지 않는 것 같습니다.

나는 권한을 꽤 많이 바이올린했는데, 나는 프로그램 주입 페이지를 통해 읽기를 여러 번, 여전히 배경 페이지가 코드를 실행 가져올 수 없습니다. 마침내

나는 포기하고 고통없이 작업 내용 스크립트로 전환. 이제 컨텐트 스크립트에서 포트를 열고 백그라운드 스크립트와 필요한 정보를 준비하기 위해 백그라운드 페이지와 통신합니다.

그냥 어려움을 겪고있어 경우 다른 사람에, content scripts은 구조 될 것으로 보인다.