google-chrome-extension
Przenoszenie do / z przeglądarki Firefox
Szukaj…
Uwagi
Jeśli używasz przeglądarki Firefox w wersji wcześniejszej niż 48, będziesz potrzebować dodatkowego klucza w pliku
manifest.json
nazwie aplikacje:
"applications": {
"gecko": {
"id": "[email protected]",
"strict_min_version": "42.0",
"strict_max_version": "50.*",
"update_url": "https://example.com/updates.json"
}
}
Uwaga:
Wraz z wydaniem Firefoksa 48 podpisywanie rozszerzeń nie może być już wyłączone w kompilacji wersji i wersji beta przy użyciu preferencji. Jak opisano w momencie ogłoszenia podpisywania rozszerzeń, publikujemy specjalistyczne kompilacje, które obsługują tę preferencję, dzięki czemu programiści mogą nadal testować kod, z którego generowane są wersje beta i wydania.
Status WebExtensions
:
Rozszerzenia Web są obecnie w eksperymentalnym stanie alfa. W przeglądarce Firefox 46 możesz publikować rozszerzenia sieci Web dla użytkowników przeglądarki Firefox, tak jak każdy inny dodatek. Dążymy do pierwszego stabilnego wydania w przeglądarce Firefox 48.
UPD : Firefox 48 wydany 02.08.2016.
Spinki do mankietów:
Status obsługi API - lista interfejsów API i ich status.
Rozszerzenia Web - API API, klucze manifest.json, tutoriale itp.
Przenoszenie przez WebExtensions
Zanim zaczniesz mówić o przenoszeniu rozszerzeń Firefoksa z / do, powinieneś wiedzieć, czym jest WebExtensions
.
WebExtensions
- to platforma reprezentująca interfejs API do tworzenia rozszerzeń Firefox .
Wykorzystuje tę samą architekturę rozszerzeń co Chromium , w rezultacie ten interfejs API jest kompatybilny na wiele sposobów z API w Google Chrome i Opera (Opera oparta na Chromium). W wielu przypadkach rozszerzenia opracowane dla tych przeglądarek będą działać w Firefoksie z kilkoma zmianami lub nawet bez nich.
MDN zaleca korzystanie z WebExtension
dla nowych rozszerzeń:
W przyszłości WebExtensions będą zalecanym sposobem opracowywania dodatków do Firefoksa, a inne systemy będą przestarzałe.
W związku z powyższym, jeśli chcesz przenieść rozszerzenia do Firefoksa , musisz wiedzieć, jak to rozszerzenie zostało napisane.
Rozszerzenia dla Firefoksa mogą być oparte na WebExtension
, Add-on SDK
lub XUL
.
Kompatybilne rozszerzenia oparte na WebExtension
Korzystając z WebExtension
, trzeba przejrzeć listę niezgodności , ponieważ niektóre funkcje są obsługiwane w pełni lub częściowo, to znaczy należy sprawdzić manifest.json
.
Umożliwia także korzystanie z tej samej przestrzeni nazw :
W tej chwili wszystkie interfejsy API są dostępne poprzez przestrzeń nazw chrome. *. Kiedy zaczynamy dodawać własne interfejsy API, oczekujemy dodania ich do przestrzeni nazw przeglądarki. *. Programiści będą mogli użyć funkcji wykrywania funkcji, aby ustalić, czy interfejs API jest dostępny w przeglądarce. *.
Proste rozszerzenie, które może działać w Firefox i Google Chrome
manifest.json
:
{
"manifest_version": 2,
"name": "StackMirror",
"version": "1.0",
"description": "Mirror reflection of StackOverflow sites",
"icons": {
"48": "icon/myIcon-48.png"
},
"page_action": {
"default_icon": "icon/myIcon-48.png"
},
"background": {
"scripts" : ["js/background/script.js"],
"persistent": false
},
"permissions": ["tabs", "*://*.stackoverflow.com/*"]
}
skrypt w background
:
function startScript(tabId, changeInfo, tab) {
if (tab.url.indexOf("stackoverflow.com") > -1) {
chrome.tabs.executeScript(tabId,
{code: 'document.body.style.transform = "scaleX(-1)";'}, function () {
if (!chrome.runtime.lastError) {
chrome.pageAction.show(tabId);
}
});
}
}
chrome.tabs.onUpdated.addListener(startScript);
Spakuj projekt jako standardowy plik zip
, ale z rozszerzeniami .xpi
.
Następnie musisz załadować rozszerzenie do przeglądarki Firefox .
Otwórz stronę about:addons
dostępną poprzez Menu> Dodatki .
Kliknij przycisk Narzędzia dla wszystkich dodatków .
Po załadowaniu rozszerzenia strona about:addons
będzie wyglądać następująco:
Instrukcje dotyczące ładowania rozszerzenia w Google Chrome są na inny temat - Pierwsze kroki z rozszerzeniami Chrome .
Wynik operacji rozszerzenia będzie taki sam w obu przeglądarkach ( Firefox / Google Chrome ):
Jeśli bieżący dodatek jest oparty na SDK dodatku lub XUL
Gdy przenoszone rozszerzenie jest oparte na dodatkowym Add-on SDK
należy przejrzeć tabelę porównawczą dla dodatkowego WebExtensions
Add-on SDK
=> WebExtensions
, ponieważ technologie te mają podobne funkcje, ale różnią się implementacją. Każda sekcja tabeli opisuje odpowiednik Add-on SDK
dla WebExtension
.
Porównanie z dodatkowym zestawem SDK
Podobne podejście i dla rozszerzeń XUL.
Porównanie z rozszerzeniami XUL / XPCOM