window
안에 새 개체를 제공하는 Chrome 확장 프로그램을 만들고 싶습니다. 확장 프로그램이로드 된 브라우저에서 웹 페이지를 볼 때 window.mything
을 Javascript를 통해 사용할 수있게하고 싶습니다. window.mything
객체에는 확장에서 정의 할 일부 기능이 있으며 확장 기능이 활성화 된 브라우저에서 페이지를 볼 때 이러한 함수는 console.log
또는 임의의 자바 스크립트 파일에서 호출 가능해야합니다. Chrome 확장 프로그램에서 창 객체를 수정할 수 있습니까?
var s = document.createElement("script");
s.src = chrome.extension.getURL("mything.js");
document.getElementsByTagName("head")[0].appendChild(s);
mything.js은 다음과 같습니다
window.mything = {thing: true};
console.log(window);
때마다 페이지가로드, 난을 참조하십시오 전체 window
개체로 콘솔에 있어야합니다. 그러나 콘솔에서 window.mything
개체와 상호 작용할 수 없습니다. 주입 된 스크립트가 전역 window
개체를 실제로 수정하지 않은 것 같습니다.
크롬 확장 프로그램에서 전체 window
개체를 수정하려면 어떻게해야하나요?
그건 불가능합니다. 올바른 콘솔을보고 있습니까, 스크립트가 실제로 실행됩니까 (문서 검사 및 스크립트 태그 찾기/구문 오류 검사)? 스크립트는 확실히 페이지의 컨텍스트에서 실행되므로 'mything'이 존재해야합니다. –