
chrome://settings
또는 와 같은 내장 기능을 포함하여 모든 페이지에서 vimium 및 컬러 인버터와 같은 확장 기능을 사용할 수 있기를 원합니다 about:newtab
.
Firefox나 Chromium 모두 확장 프로그램이 내장 페이지를 수정하는 것을 허용하지 않습니다.
이 동작을 바꿀 수 있나요? 나는 특히 두 브라우저 모두에 편파적이지 않으며 단지 그 중 하나에서 작동하기 위해 필요할 뿐입니다. 소스를 수정하고 필요한 경우 다시 컴파일해 드리겠습니다.
답변1
about:
WebExtensions는 페이지 를 수정할 수 없으므로 chrome://
언급한 동작을 변경할 수 없습니다. Firefox와 Chrome이 XUL 확장에 대한 지원을 중단했기 때문에 이것은 Firefox와 Chrome 모두에서 지원되는 유일한 확장 API입니다.
확장 프로그램은 를 통해 URL 패턴이나 특정 탭과 일치하는 탭에 콘텐츠 스크립트를 삽입할 수 있습니다 tabs.executeScript()
. 두 방법 모두 시작 <scheme>
하는 대상 페이지에 대해 http[s]
, file
, ftp
또는 (Firefox의 경우) "일치 패턴"을 취하므로 또는 URL app
에 대한 액세스 가 불가능합니다. CSS 주입 API 도 일치 패턴을 사용하며 보호된 페이지를 수정하는 데 사용할 수 없습니다.chrome://
about:
tabs.insertCSS()
확장 프로그램에는 웹 페이지에 액세스할 수 없고 콘텐츠 스크립트를 통해 간접적으로 수정해야 하는 백그라운드 스크립트가 있을 수도 있으므로 동일한 제한 사항이 적용됩니다.
Firefox와 Chromium의 소스 코드를 모두 사용할 수 있으므로 확장 프로그램에 추가 권한을 부여하는 데 필요한 변경을 확실히 수행할 수 있지만 컴파일 시간 전환만큼 간단한 것은 없습니다.
백그라운드 스크립트를 통해 등록된 키보드 단축키는 모든 페이지에서 유효하지만 현재로서는 임의의 키 조합에 필요한 API가 존재하지 않습니다. Firefox의 스타일을 지정하는 경우 수정을 about:
통해 페이지에 영향을 미칠 수 있습니다 userChrome.css
.
https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Content_scripts https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Match_patterns https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/Tabs/executeScript https://developer.mozilla.org/en-US/Add-ons/WebExtensions/API/tabs/insertCSS https://developer.mozilla.org/en-US/Add-ons/WebExtensions/Anatomy_of_a_WebExtension#Background_scripts