우리는 Firefox 용 확장 기능을 개발합니다. 스크립트는 콘텐츠 스크립트인지 백그라운드 스크립트인지를 알아야합니다 (때로는 동일한 스크립트가 내용 스크립트와 배경 스크립트가 될 수 있음). 우리는 다음과 같은 코드로하려고 노력 :Firefox 확장 프로그램 - 콘텐츠 스크립트인지 어떻게 확인합니까?
if (typeof exports === 'undefined') {
// we're in a content script.
} else {
// we're in a background script.
}
그러나 문제는
typeof exports
일부 콘텐츠 스크립트
'undefined'
되지 않는 것입니다. 우리가 콘텐츠 스크립트에있을 때를 알 수있는 더 좋은 방법이 있습니까?
편집 : 내가 실수를 가지고 있으며, 실제로 typeof exports
콘텐츠 스크립트 'undefined'
입니다. 따라서 typeof exports
을 확인하는 것이 콘텐츠 스크립트를 식별하는 신뢰할 수있는 방법입니다.
나는 이것이 훌륭한 방법이라고 생각합니다. 알려진 콘텐츠를 찾을 수 있습니다. sc '자체'/ 'addon'과 같은 ript globals는 유효한 이유 때문에 다른 js 범위의 전역 변수로 정의 될 수 있습니다. 이 기술을 사용하면 컨텐츠 스크립트에서 실행되는 것을 감지하는 방법에 대해 명시 적으로 설명하고 있습니다. – canuckistani