"Bookmarks.dev에 저장"크롬 확장 프로그램을 Firefox로 포팅
따라서 이 블로그 게시물에서는 Save link to Bookmarks.dev 확장 기능을 다시 살펴보고 확장 기능이 Firefox와 호환되도록 만드는 데 필요한 변경 사항에 대해 자세히 설명하겠습니다.
Bookmarks.dev 브라우저 확장에 대한 이 저장 링크는 다음에서 사용할 수 있습니다.
Chrome
Firefox
하지만 그렇게 하기 전에 실행 중인 확장 기능을 살펴보겠습니다. 그러면 제가 말하는 내용을 알 수 있습니다.
Right click OR click the extension icon to save the active tab's link to Bookmarks.dev
폴리필 설치
이 확장은 매우 간단하기 때문에
package.json
또는 웹팩 번들을 사용하지 않으므로 polyfill 스크립트를 다운로드해야 했습니다. npm에서 릴리스된 모든 버전은 unpkg.com에서 직접 다운로드할 수 있습니다.https://unpkg.com/webextension-polyfill/dist/
Github 릴리스에 연결됨
For extensions that already include a package.json file, the last released version of this library can be quickly installed using
npm install --save-dev webextension-polyfill
폴리필 설정
폴리필을 사용하려면
browser
API가 액세스되는 모든 컨텍스트에 폴리필을 로드해야 합니다. 가장 일반적인 경우는 manifest.json
에 지정할 수 있는 배경 및 콘텐츠 스크립트입니다(이를 사용하는 다른 스크립트 앞에 browser-polyfill.js
스크립트를 포함해야 합니다).{
// ...
"background": {
"scripts": [
"browser-polyfill.js",
"background.js"
]
},
"content_scripts": [{
// ...
"js": [
"browser-polyfill.js",
"content.js"
]
}]
}
browserAction
팝업 또는 탭 페이지와 같은 HTML 문서의 경우 프로젝트의 README1 에서 설정 섹션을 참조하십시오.구현 변경
구현은 확장 프로그램 아이콘을 클릭하거나 마우스 오른쪽 버튼을 클릭하고 Bookmarks.dev에 링크 저장을 선택할 때 다른 javascript
launch-bookmarksdev-dialog.js
실행을 트리거하는 백그라운드 스크립트를 사용합니다. 여기서는 chrome
를 browser
로 변경하기만 하면 되므로 다음과 같이 표시되지 않습니다.browser.browserAction.onClicked.addListener(launchBookmarksDevDialog);
function launchBookmarksDevDialog() {
browser.tabs.executeScript({
file: 'launch-bookmarksdev-dialog.js'
});
};
browser.contextMenus.onClicked.addListener(launchBookmarksDevDialog);
browser.runtime.onInstalled.addListener(function () {
browser.contextMenus.create({
"id": "save-link-to-bookmarksdev",
"title": "Save link to Bookmarks.dev",
"contexts": ["all"]
});
});
chrome.browserAction...
대신확장 테스트
Chrome 또는 Firefox에서 소스를 로드하고 다시 로드하여 확장 프로그램을 로컬에서 계속 테스트할 수 있지만 도움말
web-ext
2 덕분에 작업이 더 쉬워졌습니다.프로젝트 루트 디렉토리에서 다음 명령을 실행하십시오.
web-ext run
확장 기능이 설치된 Firefox를 시작하고 소스 코드를 변경하면 다시 로드합니다. 옵션에 대해서는 web-ext 명령 참조를 참조하십시오. 3
https://extensionworkshop.com/documentation/develop/web-ext-command-reference/>
확장 빌드
web-ext
유틸리티 덕분에 릴리스를 위한 확장 패키징도 더 쉬워졌습니다.이전에
zip
명령을 사용했다면zip -r bookmarks.browser.extension.zip * -x *.idea* *.git* '*resources/*' '*assets/*' "*README.md*" "*CHANGELOG.md*" '*web-ext-artifacts/*'
이제
web-ext
빌드 명령을 사용합니다.web-ext build --overwrite-dest -i 'resources' 'assets' 'README.md' 'CHANGELOG.md'
이것은
.zip
및 기타 아티팩트와 같이 패키지에서 일반적으로 원하지 않는 파일을 무시하고 확장을 .git
파일로 패키징합니다. .zip
파일의 이름은 확장 매니페스트의 이름 필드에서 가져옵니다.-i
옵션을 사용하여 위에 표시된 것처럼 여전히 파일을 직접 제외할 수 있습니다. 자세한 내용은 명령 참조3를 참조하십시오.추가 옵션.
If you have found this useful, please show some love and give us a star on Github
참조
https://github.com/mozilla/webextension-polyfill#basic-setup ↩
https://github.com/mozilla/web-ext#readme ↩
https://github.com/mozilla/web-ext#readme ↩
Reference
이 문제에 관하여("Bookmarks.dev에 저장"크롬 확장 프로그램을 Firefox로 포팅), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/codever/save-bookmarks-in-chrome-and-firefox-with-browser-extension-1c0a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)