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"
  }
}

Aplikacje


Uwaga:

Podpisywanie rozszerzeń :

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.

Niezgodności Chrome

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 .

Projekt paczki

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 .

Zainstaluj rozszerzenie

Po załadowaniu rozszerzenia strona about:addons będzie wyglądać następująco:

Wynik instalacji

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 ):

Wynik pracy


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



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow