Wat is er nieuw in Chrome-extensies

Bezoek deze pagina regelmatig voor meer informatie over wijzigingen in Chrome-extensies, extensiedocumentatie, of gerelateerd beleid of andere wijzigingen. Andere mededelingen vindt u in de Google-groep Extensies . Het Chrome-schema vermeldt stabiele releasedatums en bèta-releasedatums.

Chrome 126: Origin-proefversies in extensies

geplaatst op

Chrome 126 introduceert een nieuw veld manifest.json - trial_tokens , waarmee u zich op alle extensie-oppervlakken kunt aanmelden voor Origin Trials en Deprecation Trials. Lees de handleiding voor meer informatie.

Blogpost: Wat gebeurt er in Chrome-extensies - april 2024

geplaatst op

We hebben een nieuwe editie gepubliceerd van What's Happening in Chrome Extensions . In het bericht wordt besproken waar het uitbreidingsteam de afgelopen maanden aan heeft gewerkt. Dit omvat: versie terugdraaien in de Chrome Web Store, betere Firebase Auth-ondersteuning en meer API-lanceringen en -updates.

Versie-terugdraaiingen in het Chrome Web Store-ontwikkelaarsdashboard

geplaatst op

Zet uw extensie terug naar de eerder gepubliceerde versie in de Chrome Web Store, zonder aanvullende beoordeling! Lees de blogpost en documentatie voor meer informatie.

Chrome 124: Geavanceerde documentScan-API

geplaatst op

Er is nu een geavanceerde documentScan API beschikbaar op ChromeOS om afbeeldingen van aangesloten documentscanners te ontdekken en op te halen.

Chrome 124: WebGPU-ondersteuning in servicemedewerkers

geplaatst op

Sinds Chrome 124 ondersteunen servicemedewerkers WebGPU . Bekijk voor een snelle start het voorbeeld van de WebGPU-extensie .

Chrome 123: De Events API ondersteunt filteren op CIDR-blokken

geplaatst op

De Events API ondersteunt nu filteren op CIDR-blokken (Classless Inter-Domain Routing). Een CIDR-blok is een verzameling IP-adressen die een netwerkvoorvoegsel en hetzelfde aantal bits delen. Voorheen moest een ontwikkelaar die meerdere IP-adressen moest filteren een filterregel configureren voor elk van de adressen in het blokbereik. Wanneer een extensie addListener() aanroept, betekent een doorgegeven regel dat de gebeurtenishandler alleen wordt aangeroepen als het hostgedeelte van een URL een IP-adres is en zich bevindt in een van de CIDR-blokken die in een array zijn opgegeven.

Chrome Web Store: Updates van de vereisten voor de lengte van de extensienaam

geplaatst op

In de Chrome Web Store geldt nu een universele limiet van 75 tekens voor het veld "name" van een extensie in manifest.json. Voorheen was de limiet voor Engels 45 tekens en was er in andere landinstellingen geen beperking voor het veld "name" .

Dit was oorspronkelijk bedoeld om culturele en taalverschillen mogelijk te maken die mogelijk niet in hetzelfde aantal karakters kunnen worden vastgelegd. Helaas werd deze functie door een klein aantal ontwikkelaars misbruikt om de winkel te spammen. Als gevolg hiervan introduceren we een nieuwe universele limiet, een verhoging naar 75 tekens. Deze limiet dekt momenteel bijna alle extensies in de winkel, dus het is waarschijnlijk dat u als gevolg van deze wijziging geen actie hoeft te ondernemen. Als u een extensie probeert te uploaden die een naam heeft die langer is dan de maximale limiet, wordt de upload geblokkeerd door de winkel.

Blogpost: eyeo's reis naar het testen van de schorsing van servicemedewerkers

geplaatst op

In dit bericht van eyeo's Extension Engine-team onderzoeken we het probleem van het testen van extensieservicemedewerkers. In Manifest V2 stonden extensies op een achtergrondpagina, die gedurende de hele levenscyclus van de extensie actief waren. Manifest V3 maakt in plaats daarvan gebruik van servicemedewerkers, en servicemedewerkers besparen door hun ontwerp hulpbronnen door uit te schakelen wanneer ze niet nodig zijn. Dit brengt bepaalde testuitdagingen met zich mee. In dit bericht wordt uitgelegd hoe eyeo deze uitdagingen heeft aangepakt .

Chrome 123: Alarmen worden nu geactiveerd wanneer het apparaat slaapt

geplaatst op

Alarmen die zijn ingesteld met de chrome.alarms API worden niet langer vertraagd wanneer een apparaat in de sluimerstand gaat. Wanneer het apparaat wakker wordt, gaat het alarm één keer af, ongeacht hoeveel alarmen er zijn gemist. Stel bijvoorbeeld dat een alarm zo is ingesteld dat het één keer per uur afgaat en het apparaat waarop het alarm staat, slaapt van 12:55 uur tot 02:05 uur, dan activeert alleen het alarm van 02:00 uur de gebeurtenis onAlarm . Het vuurt zo dicht mogelijk bij 02:00 uur af, en onmiddellijk wanneer een apparaat ontwaakt als het in slaap was.

Deze wijziging brengt Chrome in lijn met het afgesproken gedrag in de Web Extensions Community Group.

Blogpost: Wijzigingen in bfcache-gedrag met extensie-berichtpoorten

geplaatst op

Back/forward cache (bfcache) is een browseroptimalisatie die directe terug- en vooruitnavigatie mogelijk maakt. Vanaf Chrome 123 wordt het berichtenkanaal gesloten wanneer een pagina met een open extensiepoort wordt opgeslagen in bfcache, wat betekent dat er geen berichten naar die pagina worden verzonden. Daarom moeten extensiescripts luisteren naar levenscyclusgebeurtenissen zoals onDisconnect en een nieuwe verbinding opzetten wanneer de pagina wordt hersteld vanuit BFCache.

Zie Wijzigingen in BFCache-gedrag met extensie message ports voor meer informatie en voorbeeldcode.

Chrome 122: Beloof ondersteuning voor asynchrone extensie-API's

geplaatst op

We zijn klaar met de implementatie van Promise-ondersteuning voor alle asynchrone extensie-API-methoden. Dit werd gedaan om API-methoden te moderniseren door de ergonomie van het omgaan met asynchrone bewerkingen te verbeteren. Een handvol methoden (bijvoorbeeld desktopCapture.chooseDesktopMedia() ) ondersteunt nog steeds alleen callbacks omdat hun huidige oppervlakken niet compatibel zijn met Promises. Voor achterwaartse compatibiliteit worden callbacks nog steeds ondersteund. Als u een belofte tegenkomt die mislukt, dient u een bug in .

Nieuwe richtlijnen voor realtime communicatie

geplaatst op

We hebben zojuist handleidingen gepubliceerd over realtime opties in extensies. Realtime updates zorgen voor een direct communicatiepad van uw servers rechtstreeks naar uw extensie-installaties. Daarnaast hebben we nieuwe richtlijnen voor het gebruik van chrome.gcm en Web Push .

Nieuwe richtlijnen en voorbeeld: Beëindiging van servicemedewerkers testen

geplaatst op

We hebben zojuist een handleiding gepubliceerd over het testen van de beëindiging van servicemedewerkers met Puppeteer . Het begeleidende voorbeeld demonstreert dit in Puppeteer en Selenium.

Bijgewerkt voorbeeld voor native messaging

geplaatst op

We hebben zojuist een bijgewerkt voorbeeld voor native messaging gepubliceerd. Met deze API kan uw extensie een andere applicatie starten en ermee communiceren. Met dank aan GitHub-bijdrager Shubham-Rasal voor het werk hieraan.

Chrome 121: Nieuwe eigenschap lastAccessed op tabbladen.Tab

geplaatst op

Er is een nieuwe eigenschap met de naam lastAccessed toegevoegd aan het object tabs.Tab . Deze eigenschap geeft aan wanneer het tabblad voor het laatst is geactiveerd. De geretourneerde waarde is in milliseconden sinds tijdperk.

Chrome 121: Niet-ondersteunde 'achtergrond'-toetsen geven nu een waarschuwing

geplaatst op

Bij de wijziging van Manifest V2 naar Manifest V3 zijn onderliggende elementen van de manifestsleutel "background" gewijzigd om vervanging van achtergrondscripts door extensieservicemedewerkers mogelijk te maken. Vroeger zou het toevoegen van de Manifest V2-sleutels "scripts" , "page" of "persistent" aan de "background" -sleutel van een Manifest V3-extensie een fout opleveren. De aanwezigheid van deze sleutels veroorzaakt nu een waarschuwing.

Dit wordt gedaan om het gebruik van één manifestbestand in extensies in meerdere browsers mogelijk te maken, volgens een voorstel in de communitygroep .

Chrome 120: Minimale alarmgranulariteit teruggebracht tot 30 seconden

geplaatst op

Vanaf Chrome 120 kunnen Manifest V3-extensies de chrome.alarms API gebruiken met vertragingen of perioden van 30 seconden, in plaats van waarden van 60 seconden of meer te vereisen.

Blogpost: Hervatting van de transitie naar Manifest V3

geplaatst op

De Manifest V2-ondersteuningstijdlijn is bijgewerkt. Zie onze blogpost van november 2023 voor meer informatie.

Blogpost: Verbeteringen aan ondersteuning voor inhoudsfiltering in Manifest V3

geplaatst op

Lees meer over hoe we de declarativeNetRequest API hebben verbeterd in onze nieuwe blogpost .

Blogpost: Wat is er nieuw in Chrome 120 voor extensies

geplaatst op

Chrome 120 Bèta is onlangs uitgebracht. Voor een samenvatting van de belangrijke updates die relevant zijn voor extensie-ontwikkelaars, lees onze nieuwe blogpost: Wat is er nieuw in Chrome 120 voor extensies . Deze release markeert ook een belangrijke mijlpaal omdat de laatste twee items (userScripts, bestandshandler op ChromeOS) worden verwijderd uit de lijst met kritieke platformhiaten .

PSA: Wijziging in de verwerking van privacybeleid-URL's in het ontwikkelaarsdashboard

geplaatst op

Het privacybeleid in het ontwikkelaarsdashboard is nu toegevoegd op itemniveau. Hierdoor kunt u per artikel een ander privacybeleid opgeven. Lees meer over deze wijziging in onze PSA .

Video: Een gesprek met Matt Frisbie

geplaatst op

We hebben zojuist een nieuwe video gepubliceerd op het Chrome for Developers YouTube-kanaal waarin we chatten met Google Developer Expert en auteur Matt Frisbie. Bekijk het hier .

Nieuwe richtlijnen voor het testen van extensies

geplaatst op

We hebben zojuist nieuwe richtlijnen gepubliceerd over het schrijven van geautomatiseerde tests voor extensies, inclusief het schrijven van unit-tests en zowel algemene richtlijnen als een tutorial over end-to-end testen.

Blogpost: Wat gebeurt er in Chrome-extensies - oktober 2023

geplaatst op

We hebben zojuist de tweede editie van What's Happening in Chrome Extensions gepubliceerd. De post bespreekt waar het uitbreidingsteam de afgelopen maanden aan heeft gewerkt, waaronder het aanpakken van stabiliteitsproblemen met servicemedewerkers en het boeken van goede vooruitgang bij het dichten van alle gaten in het MV3-platform. We delen ook spannende aankomende API-releases zoals de Reading List API en de User Scripts API.

Verhoogde limieten voor statische regelsets in de Declarative Net Request API

geplaatst op

Naar aanleiding van feedback in de Web Extensions Community Group verhogen we de limiet voor ingeschakelde statische regelsets aanzienlijk van 10 naar 50. Daarnaast verhogen we het totale aantal toegestane statische regelsets van 50 naar 100. Dit is momenteel beschikbaar in Canary.

Verbeterde begeleiding rond op afstand gehoste code

geplaatst op

Een vereiste voor Manifest V3 is dat extensies niet langer op afstand gehoste code mogen gebruiken. Hoewel dit vanaf het begin deel uitmaakte van onze migratiegids , vonden we het de moeite waard om de richtlijnen rond dit probleem te verbeteren. Die pagina biedt nu meer informatie, beschrijft wat er nog steeds mogelijk is in Manifest V3 en biedt meer informatie over strategieën voor upgraden.

Er is een gerelateerde toevoeging aan het probleem van het oplossen van schendingen van de Chrome Web Store . In een nieuwe sectie worden veelvoorkomende redenen beschreven waarom extensies met op afstand gehoste code worden afgewezen.

Chrome 118: isUrlFilterCaseSensitive is nu standaard ingesteld op false

geplaatst op

Vanaf Chrome 118 is de eigenschap isUrlFilterCaseSensitive in de chrome.declarativeNetRequest API standaard gewijzigd in false . Als u het oude gedrag wilt behouden, kunt u isUrlFilterCaseSensitive expliciet instellen op true in uw declarativeNetRequest-regels.

Dit volgt op discussies in de Web Extensions Community Group. Firefox en Safari hebben al een soortgelijke wijziging doorgevoerd.

Documentatie over cookies en webopslag-API's

geplaatst op

We hebben een nieuwe handleiding gepubliceerd over hoe cookies en webopslag-API's werken in Chrome-extensies . Het bevat details over wijzigingen in de cookie- en opslagpartitionering in Privacy Sandbox , een lopend project om cookies van derden af ​​te schaffen door de creatie van een reeks nieuwe webplatform-API's, en details over hoe ze werken in extensies.

Extensievoorbeelden zijn nu doorzoekbaar

geplaatst op

We hebben onlangs een pagina gemaakt waarop u voorbeelden van Chrome-extensies kunt doorzoeken . De zoekpagina heeft meerdere opties. Met een zoekvak kunt u naar tekst in voorbeeldtitels zoeken. U kunt de zoekopdracht beperken op basis van toestemming of extensie-API. Met een extra filter kunt u de zoekopdracht beperken tot API- of functionele (use case) voorbeelden.

Deze nieuwe voorbeeldpagina is gebouwd door een Google Summer of Code-deelnemer, Xuezhou Dai, die ook verschillende nieuwe voorbeelden heeft bijgedragen. Hun ervaringen afgelopen zomer kun je lezen in hun post op onze blog .

Net als voorheen zijn onze codevoorbeelden nog steeds beschikbaar op GitHub voor klonen of forken.

Chrome 118: Wijzigingen in openingsbestand: schema-URL's

geplaatst op

Vanaf Chrome 118 moeten extensies de instelling 'Toegang tot bestands-URL's toestaan' hebben ingeschakeld op de pagina chrome://extensions om file://-schema-URL's te openen met behulp van de Tabs- of Windows- API's. U kunt deze toegang programmatisch controleren door chrome.extension.isAllowedFileSchemeAccess() aan te roepen. Firefox beperkt al bestands-URL's en Safari ondersteunt de wijziging. Lees voor meer informatie het bericht in de extensies Google Group .

Chrome 117: uitgebreide URL-beveiliging voor API-navigatie met extensies

geplaatst op

Eerdere navigatie die werd geactiveerd door extensie-API-aanroepen voor tabs.update() , tabs.create() en windows.create() gaf een foutmelding voor sommige chrome:// URL's. Bovendien was het aanroepen van tabs.update() met een JavaScript-URL verboden. In 117 zijn deze beveiligingen op JavaScript-URL's uitgebreid naar de methode tabs.create() en zijn er een aantal extra chrome://-URL's toegevoegd aan de lijst met verboden URL's die van toepassing zijn op alle eerder genoemde methoden.

Verbeterde richtlijnen voor de declarativeNetRequest API

geplaatst op

De chrome.declarativeNetRequest API blokkeert of wijzigt netwerkverzoeken door declaratieve regels op te geven. Hierdoor kunnen extensies netwerkverzoeken wijzigen zonder deze te onderscheppen en de inhoud ervan te bekijken, waardoor gebruikers meer privacy krijgen. Het is ook lastig te gebruiken. Met dat in gedachten hebben we de richtlijnen herschreven op een manier die volgens ons een duidelijker beeld schetst van hoe declaratieve regelsets geïmplementeerd kunnen worden. Lees het nieuwe gedeelte via de bovenstaande link.

Uw Google Analytics-account gebruiken met de Chrome Web Store

geplaatst op

De Chrome Web Store biedt integratie met Google Analytics, waarmee u analyses voor uw Chrome Web Store-vermelding kunt bekijken naast de weergave die wordt aangeboden in het ontwikkelaarsdashboard. Voor meer informatie leest u Uw Google Analytics-account gebruiken met de Chrome Web Store .

Chrome 115: DevTools stapt standaard over contentscripts heen

geplaatst op

Geïnjecteerde inhoudsscripts staan ​​nu standaard in de negeerlijst van DevTools. Dit heeft geen invloed op breekpunten, maar het betekent wel dat inhoudsscripts tijdens het debuggen worden overgeslagen en dat uitzonderingen op deze scripts worden genegeerd. Wanneer een inhoudsscript geopend is op het tabblad Bronnen , wordt u via een banner gewaarschuwd of dit is ingeschakeld en wordt er een optie geboden om uw inhoudsscript uit de negeerlijst te verwijderen. Om dit gedrag uit te schakelen, opent u DevTools, gaat u naar Instellingen en vervolgens naar Negeerlijst . Zie Wat is er nieuw in DevTools voor meer informatie.

Chrome 116 bèta: meer dan we hier kunnen plaatsen

geplaatst op

Chrome 116 is een grote release voor extensies. U kunt nu zijpanelen programmatisch openen. Met een nieuwe methode kunt u ontdekken of er een actief document buiten het scherm is. Servicemedewerkers kregen verschillende verbeteringen. Er zijn genoeg verbeteringen in 116 dat we er een blogpost over hebben geschreven. Chrome 116 is vanaf 19 juli in bèta.

Blogpost: Wat gebeurt er in Chrome-extensies

geplaatst op

We hebben zojuist een overzicht gepubliceerd van de wijzigingen en verbeteringen aan extensies van dit jaar. Het bericht bespreekt de grote nieuwe functies van het jaar, waaronder de Side Panel API, verbeteringen voor servicemedewerkers en offscreen-documenten. U krijgt ook een voorproefje van waar we dit kwartaal aan werken. Het artikel bevat nog veel meer, met links naar alles.

Nieuwe richtlijnen en voorbeelden: leer hoe u Google Analytics 4 gebruikt in uw Chrome-extensie

geplaatst op

We hebben nieuwe richtlijnen en voorbeelden voor Google Analytics en geolocatie gepubliceerd:

Chrome 115: geef meerdere redenen op in chrome.offscreen.createDocument()

geplaatst op

U kunt nu meerdere reason opgeven bij het aanroepen van chrome.offscreen.createDocument() . Gebruik dit wanneer een document buiten het scherm voor meerdere doeleinden wordt gebruikt. De browser gebruikt de opgegeven redenen om de levensduur van het offscreen-document te bepalen.

Nieuwe tool: Testtool voor extensie-updates

geplaatst op

We hebben zojuist de Extension Update Testing Tool uitgebracht, een lokale updateserver voor extensies die kan worden gebruikt voor het testen van updates voor Chrome-extensies tijdens lokale ontwikkeling, inclusief het verlenen van toestemming. De tool toont het updateproces van de gebruiker, inclusief het uitgeschakeld houden van een extensie totdat een gebruiker nieuw aangevraagde machtigingen verleent. Deze tool is met name handig voor het simuleren van de gevraagde toestemmingswijzigingen bij het updaten van een extensie van Manifest V2 naar Manifest V3.

Chrome 114: Nieuwe zijpaneel-API

geplaatst op

Introductie van de nieuwe Side Panel API, een begeleidend oppervlak waarmee gebruikers toegang hebben tot tools naast de inhoud die ze bekijken. Ga voor meer informatie naar de Side Panel API-referentie . Daarnaast hebben we veel zijpaneelvoorbeelden toegevoegd aan onze GitHub-voorbeeldrepository . We delen ook meer over zijpanelen in de nieuwe blogpost Een superieure gebruikerservaring ontwerpen met de nieuwe zijpanelen-API . Ons beleid inzake kwaliteitsrichtlijnen en best practices zijn ook herzien om verdere richtlijnen te bieden voor het maken van hoogwaardige zijpaneelverlengingen.

Uw feedback is belangrijk bij het ontwikkelen van deze API; deel uw mening en functieverzoeken in de chroomgroepen . Houd ons in de gaten voor nieuwe updates terwijl we de Side Panel API blijven verbeteren.

Nieuwe voorbeelden: WASM in extensies

geplaatst op

Er zijn twee nieuwe voorbeelden beschikbaar die laten zien hoe je WASM in een extensie kunt gebruiken:

Speciale dank aan GitHub-bijdrager @daidr voor deze voorbeelden.

Bijgewerkte richtlijnen voor Manifest V3-migratie

geplaatst op

We hebben het gedeelte Bekende problemen van onze Manifest V3-migratierichtlijnen bijgewerkt met een bijgewerkte lijst met gaten in het uitbreidingsplatform die we willen dichten voordat we een nieuwe tijdlijn voor de beëindiging van Manifest V2 aankondigen.

Audio en video opnemen met Manifest V3

geplaatst op

We hebben zojuist een nieuw artikel gepubliceerd met de titel Audio-opname en schermopname , waarin wordt beschreven hoe u audio of video kunt opnemen vanaf een tabblad, venster of scherm in Manifest V3. In dit artikel worden meerdere benaderingen voor het opnemen beschreven, waarbij gebruik wordt gemaakt van de chrome.tabCapture API en de functie getDisplayMedia() .

Chrome 114: verhoogd opslag- en lokaal quotum

geplaatst op

We hebben het quotum voor de eigenschap storage.local verhoogd tot ongeveer 10 MB. Dit is overeengekomen in de Web Extensions Community Group . Dit brengt storage.local in lijn met storage.session die is gewijzigd in Chrome 112.

Nieuwe tutorial en hulp voor extensieservicemedewerkers

geplaatst op

Servicemedewerkers vormen een integraal onderdeel van Chrome-extensies. We hebben zojuist een tutorial gepubliceerd waarin de basisprincipes van registratie, foutopsporing en interactie met servicemedewerkers worden uitgelegd. We hebben ook een nieuwe handleiding voor servicemedewerkers toegevoegd waarin belangrijke concepten gedetailleerder worden uitgelegd. We zullen deze sectie de komende maanden uitbreiden.

Meer tips voor het oplossen van problemen bij schendingen van de webwinkel

geplaatst op

Om te helpen bij het publiceren in de Chrome Web Store hebben we op twee gebieden nieuwe richtlijnen toegevoegd. Richtlijnen voor minimale functionaliteit zijn erop gericht gebruikers voordelen te bieden en hun browse-ervaring te verrijken. De richtlijnen voor partneradvertenties zijn bedoeld om gebruikers bewust te maken van extensies met behulp van partnerlinks of codes voor het genereren van inkomsten, en hen enige controle te geven door actie van de gebruiker te vereisen voordat deze worden opgenomen.

Nieuwe instructies voor de Extension Manifest Converter

geplaatst op

We hebben de README voor de Extension Manifest Converter herschreven, zodat u gemakkelijker kunt zien wat u moet doen nadat u de tool hebt uitgevoerd. De converter helpt bij het migreren van extensies die op Manifest V2 zijn gebouwd naar Manifest V3. De nieuwe README beschrijft wat de tool doet met woorden die nauw overeenkomen met die in de checklist van de migratiegids . De converter doet niet alles, maar elimineert wel veel taken waarvoor geen menselijk oordeel nodig is.

Chrome 113: nieuwe redenen voor documenten buiten het scherm

geplaatst op

We hebben twee nieuwe redentypen toegevoegd aan de Offscreen Documents API. Gebruik LOCAL_STORAGE om toegang te krijgen tot de localStorage API van het webplatform. Gebruik WORKER bij het maken van webworkers.

Google Analytics 4 nu in het ontwikkelaarsdashboard

geplaatst op

Het Chrome Web Store Developer Dashboard ondersteunt nu Google Analytics 4 (GA4). We hebben het instellen van Google Analytics vereenvoudigd en het toegangsbeheer voor groepsuitgevers eenvoudiger gemaakt. Als u eerder Google Universal Analytics heeft gebruikt om uw winkelvermeldingsactiviteit bij te houden, moet u vóór 1 juli 2023 actie ondernemen om ervoor te zorgen dat u gegevens over uw winkelvermelding blijft ontvangen. Zie het bericht over de Chromium Extensions Google Group voor meer informatie.

De File Handling API komt naar ChromeOS

geplaatst op

De File Handler API is beschikbaar voor experimenten op ChromeOS in Canary voor versies 112 en 113. Hiermee kunnen extensies op ChromeOS bestanden openen met gespecificeerde MIME-typen en bestandsextensies. Om bestandsverwerking te implementeren, voegt u een set regels toe aan manifest.json . Deze functie werkt hetzelfde als voor progressieve webapps. Voor meer informatie, zie het artikel elders op deze site.

Bestandsverwerking inschakelen:

  • Start Chrome vanaf 112 met behulp van de vlag --enable-features=ExtensionWebFileHandlers , beginnend in 112
  • Plak vanaf 113 os://flags/#extension-web-file-handlers in de Chrome-omnibox en selecteer 'Ingeschakeld' in het vervolgkeuzemenu.

We hopen deze functie eind juni in Chrome 115 te lanceren. Houd deze ruimte in de gaten voor updates.

Nieuwe voorbeelden: dynamische declaraties en programmatische injectie

geplaatst op

We hebben een nieuw voorbeeld gebouwd voor de chrome.scripting API. Het demonstreert dynamische declaraties, waarbij een inhoudsscript tijdens runtime wordt geregistreerd, en programmatische injectie, waarbij een script wordt uitgevoerd op een tabblad dat al geopend is.

Nieuwe voorbeelden: gebruiksscenario's voor declaratieve Net Request

geplaatst op

Er zijn drie nieuwe voorbeelden beschikbaar die de Declarative Net Request API demonstreren. Elk demonstreert de implementatie van een enkele use case. De eerste laat zien hoe u cookies kunt blokkeren. De overige twee demonstreren het blokkeren en omleiden van URL's.

Chrome 112: verhoogd opslag- en sessiequotum

geplaatst op

Vanaf Chrome 112 is het quotum voor de eigenschap storage.session verhoogd naar ongeveer 10 MB. Dit is overeengekomen in de Web Extensions Community Group: https://github.com/w3c/webextensions/issues/350

Chrome 109: Documenten buiten het scherm

geplaatst op

Documenten buiten het scherm zijn nu beschikbaar in Manifest V3-extensies. Deze helpen bij de overgang van achtergrondpagina's naar extensieservicemedewerkers door ondersteuning te bieden voor DOM-gerelateerde functies en API's. Voor meer informatie, lees de blogpost .

Chrome 110: Is een extensie ingeschakeld

geplaatst op

De methode chrome.action.isEnabled() controleert programmatisch of een extensie is ingeschakeld voor een specifiek tabblad. Dit bespaart u het behouden van de ingeschakelde status van uw tabbladen. Deze nieuwe methode gebruikt een tabblad-ID en een verwijzing naar een callback en retourneert een Booleaanse waarde. Er is één beperking: tabbladen die zijn gemaakt met chrome.declarativeContent retourneren altijd false.

(De naamruimte chrome.action heeft onlangs nieuwe methoden gekregen om de weergave van extensiebadges te bepalen. Zie Badgekleuren instellen voor meer informatie.)

Chrome 110: Wijziging in time-out voor inactiviteit van servicemedewerkers

geplaatst op

Voorheen stopte een medewerker van de uitbreidingsdienst vaak na vijf minuten. We hebben dit gedrag gewijzigd, zodat het meer lijkt op de levensduur van servicemedewerkers op internet. Een medewerker van de uitbreidingsservice wordt uitgeschakeld na dertig seconden inactiviteit of als de verwerking van een enkele activiteit langer dan vijf minuten duurt. Zie Langere levensduur van servicemedewerkers voor meer informatie.

Post: Uitfasering van Manifest V2 onderbreken

geplaatst op

De tijdlijnen voor de beëindiging van Manifest V2 worden momenteel herzien en de experimenten die gepland staan ​​voor begin 2023 worden uitgesteld. Lees voor meer informatie de update in de Chrome-extensies Google Group.

Chrome 110: badgekleuren instellen

geplaatst op

De naamruimte chrome.action heeft twee nieuwe methoden om u meer controle te geven over de badges voor uiterlijkextensies. Met de methoden setBadgeTextColor() en getBadgeTextColor() kan een extensie de badgetekstkleur van het werkbalkpictogram wijzigen en opvragen. Bij gebruik met setBadgeBackgroundColor en getBadgeBackgroundColor kunt u met deze nieuwe methoden ontwerp- en merkconsistentie afdwingen.

Blogpost: Meer details over de transitie naar Manifest V3

geplaatst op

We hebben de tijdlijn voor de beëindiging van Manifest V2 verduidelijkt . De Manifest V2-ondersteuningstijdlijn is ook bijgewerkt om deze informatie weer te geven.

Documentenupdate: bekende problemen bij het migreren naar Manifest V3

geplaatst op

We hebben een lijst samengesteld met de belangrijkste functies die momenteel in ontwikkeling zijn en met openstaande bugs . Ons doel met deze pagina is om ontwikkelaars te helpen de huidige status van het platform beter te begrijpen en welke functies ze kunnen targeten terwijl ze zich voorbereiden op de toekomst.

Chrome Web Store: upload van afbeelding 'grote promotietegel' verwijderd

geplaatst op

Chrome Web Store heeft de upload-UI voor de 'grote promotietegel' verwijderd van het tabblad 'Winkelvermelding' in het ontwikkelaarsdashboard. Deze wijziging heeft geen invloed op de eindgebruikerservaring, aangezien deze afbeeldingen niet in de consumenteninterface zijn gebruikt. Zie dit bericht over chroomextensies voor meer informatie.

Chrome 106: Sta pagina's op file:// urls toe om toegang te krijgen tot webtoegankelijke bronnen

geplaatst op

Ondoorzichtige bronnen, zoals iframes in een sandbox en dynamische import, zouden volgens crbug.com/1219825#c11 ook toegang moeten hebben tot webtoegankelijke bronnen.

Chrome 106: Bug opgelost die onjuiste eindargumenten toestond bij sommige asynchrone API-functies

geplaatst op

Voorheen kon Manifest V3 asynchrone API's aanroepen en een ongeldig eindargument opleveren en Chrome maakte geen fout. Met deze oplossing zal Chrome nu correct fouten maken en melden dat er geen overeenkomende handtekening is. Ontwikkelaars worden aangemoedigd om hun extensies op Canary te controleren op eventuele fouten voor het geval ze per ongeluk een onjuiste handtekening gebruiken voor een API-aanroep die door deze bugfix wordt verbroken.

Blogpost: Vernieuwing van de analyses van de Chrome Web Store

geplaatst op

Chrome Web Store heeft een vernieuwde itemanalyse-ervaring voor het Chrome Web Store-ontwikkelaarsdashboard. Het nieuwe dashboard is in één oogopslag gemakkelijker te begrijpen en consolideert de nuttigste informatie vooraf. Lees de blogpost voor meer informatie.

Chrome 105: beloften voor de Identity API

geplaatst op

Functies op de Identity API ondersteunen nu op belofte gebaseerde aanroepen. Dit gaat gepaard met een kleine verandering aan de oppervlakte voor identity.getAuthToken() , waarbij de asynchrone return ingesteld op een op belofte gebaseerde aanroep "token" en "grantedScopes" zal hebben als parameters voor een enkel object (in tegenstelling tot de callback-versie die deze ontvangt als afzonderlijke argumenten voor de callback).

Chrome 104: Nieuwe favicons-API voor Manifest V3

geplaatst op

Manifest V3-extensies hebben nu toegang tot favicons met behulp van een nieuw URL-patroon: chrome-extension://<id>/_favicon/ , waarbij is de ID van uw extensie. Dit vervangt de chrome://favicons API van het Manifest V2-platform. Zie de Favicon API- documentatie voor meer informatie.

Documentupdate: openbaarmaking van ontwikkelaarshandelaar/niet-handelaar

geplaatst op

De identificatie van de handelaar/niet-handelaar-ontwikkelaar toegevoegd, waarmee ontwikkelaars hun status als handelaar/niet-handelaar nauwkeurig zelf kunnen aangeven.

Chrome 103: Wasm in Manifest V3 vereist wasm-unsafe-eval

geplaatst op

Chrome kent niet langer standaard extensies script-src: wasm-unsafe-eval toe. Extensies die WebAssembly gebruiken, moeten deze richtlijn en waarde nu expliciet toevoegen aan extension_pages in hun content_security_policy declaraties.

Chrome 103: Het wijzigen van MV3-snelkoppelingen wordt onmiddellijk van kracht

geplaatst op

Wanneer u de sneltoets van een Manifest V3-extensie wijzigt op chrome://extensions/shortcuts , worden updates nu onmiddellijk toegepast. Voorheen moest de extensie opnieuw worden geladen voordat de wijziging van kracht werd.

Chrome 102: dynamische inhoudsscripts in de hoofdwereld

geplaatst op

Dynamisch geregistreerde contentscripts kunnen nu de wereld specificeren waarin assets worden geïnjecteerd. Zie scripting.registerContentScripts() voor details.

Chrome 102: Nieuw manifestveld "optionele_host_permissions"

geplaatst op

Manifest V3-extensies kunnen nu de optional_host_permissions sleutel opgeven in manifest.json. Hierdoor kunnen Manifest V3-extensies optionele overeenkomstpatronen voor hosts declareren, net zoals Manifest V2-extensies dat zouden kunnen met behulp van de optional_permissions sleutel.

Chrome 102: eigenschap injectImmediately in scripting.executeScript()

geplaatst op

chrome.scripting.executeScript() accepteert nu een optionele eigenschap injectImmediately op zijn injection . Indien aanwezig en ingesteld op true, zal het script zo snel mogelijk in het doel worden geïnjecteerd, in plaats van te wachten op document_idle . Houd er rekening mee dat dit geen garantie is dat het script wordt geïnjecteerd voordat de pagina wordt geladen, aangezien de pagina blijft laden terwijl de API-aanroep wordt gedaan.

Chrome 102: Omnibox API-ondersteuning in Manifest V3

geplaatst op

De Omnibox API kan nu worden gebruikt in op servicewerknemers gebaseerde extensies. Voorheen werden sommige van deze API-methoden aangeroepen vanwege interne afhankelijkheden van DOM-mogelijkheden.

Chrome 102: wasm-unsafe-eval toegestaan ​​in Manifest V3 CSP

geplaatst op

Manifest V3-extensies kunnen nu wasm-unsafe-eval opnemen in hun content_security_policy declaraties. Door deze wijziging kunnen Manifest V3-extensies WebAssembly gebruiken.

Chrome 102: Nieuwe storage.session-API

geplaatst op

Manifest V3-extensies kunnen nu worden gebruikt in geheugenopslag storage.session .

Documentenupdate: detectie van Chrome Web Store-items

geplaatst op

Discovery in de Chrome Web Store geeft een overzicht van hoe gebruikers items in de Chrome Web Store vinden en hoe onze redacteurs items selecteren om uit te lichten.

Chrome 101: Verbeterde declaratieveNetRequest-domeinvoorwaarden

geplaatst op

declarativeNetRequest -regelvoorwaarden zijn bijgewerkt zodat extensies verzoeken beter kunnen targeten op basis van de "request"- en "initiator"-domeinen van het verzoek. De relevante voorwaarde-eigenschappen zijn initiatorDomains , excludedInitiatorDomains , requestDomains en excludedRequestDomains . Zie ook dit draadje over chroomextensies .

Chrome 100: probleem opgelost met scripting.executeScript() op nieuw gemaakte tabbladen

Er is een al lang bestaand probleem opgelost waarbij het aanroepen van scripting.executeScript() op een nieuw gemaakt tabblad of venster kon mislukken.

Chrome 100: native messaging-poort houdt servicemedewerkers in leven

geplaatst op

Door verbinding te maken met een native messaging-host met behulp van chrome.runtime.connectNative() in de service worker van een extensie, moet de service worker in leven blijven zolang de poort open is.

Chrome 100: omnibox.setDefaultSuggestion() ondersteunt beloften en callbacks

geplaatst op

De methode omnibox.setDefaultSuggestion() retourneert nu een belofte of accepteert een callback, zodat ontwikkelaars kunnen bepalen wanneer de suggestie correct is ingesteld.

Chrome 100: i18n.getMessage() ondersteuning voor extensieservicemedewerkers

geplaatst op

De chrome.i18n.getMessage() API wordt nu ondersteund in extensieservicewerknemercontexten.

Chrome 99: match_origin_as_fallback in Canarische

geplaatst op

Inhoudsscripts kunnen nu de sleutel match_origin_as_fallback specificeren om te injecteren in frames die gerelateerd zijn aan een overeenkomend frame, inclusief frames met about: , data: , blob: en filesystem: URL's. Zie de documentatie over inhoudsscripts voor meer informatie.

Chrome 99: Ondersteuning van de extensieservice voor bestand: schema's in Canary

geplaatst op

Op servicemedewerker gebaseerde manifest V2 en manifest V3 -extensies kunnen nu de fetch API gebruiken om file: -Scheme URL's. Toegang tot file: -Scheme URL's vereist nog steeds dat de gebruiker 'toegang tot bestands -URL's toestaat' voor de extensie op de pagina chrome://extensions .

Chrome 99: Promise Support for Messaging API's in Canary

geplaatst op

Belofteondersteuning is toegevoegd aan tabs.sendMessage , runtime.sendMessage en runtime.sendNativeMessage voor extensies gebouwd voor manifest V3.

Documentenupdate: documentatie van Chrome Web Store Review

geplaatst op

Een nieuwe referentiepagina toegevoegd die een overzicht biedt van het Chrome Web Store Review -proces en legt uit hoe de handhaving van het ontwikkelaarsprogramma -beleid wordt afgehandeld.

Chrome 98: scripting.executescript () en scripting.insertcss () accepteren meerdere bestanden

geplaatst op

De methoden executeScript() en insertCSS() van de Scripting API accepteren nu meerdere bestanden. Eerder vereisten deze methoden een array met een enkele bestandsvermelding.

Documentenupdate: updates van het oplossen van schending oplossen

geplaatst op

De pagina Problemen oplossen Chrome Web Store -overtredingen is bijgewerkt om ontwikkelaars meer gedetailleerde richtlijnen te bieden om algemene redenen voor afwijzing.

Chrome 96: uitgebreide belofteondersteuning aan 27 meer API's

geplaatst op

Deze release bevat aanzienlijk meer belofte -updates dan elke eerdere release. Updates omvatten zowel algemene als chromeos-specifieke extensies API's. Vouw de volgende secties uit voor details.

Extensions API's

Een aantal API's ondersteunen nu beloften in manifest V3.

Ook ondersteunen API's die het ChromeSetting -prototype gebruiken nu ook beloften. De volgende API's worden beïnvloed door deze wijziging.

Chromeos API's

Chrome 96: Dynamische inhoudscripts

geplaatst op

De chrome.scripting API ondersteunt nu het registreren , bijwerken , niet -registreren en krijgen van een lijst met contentscripts tijdens runtime. Eerder konden inhoudscripts alleen statisch worden verklaard in de manifest van een extensie. JSON of programmatisch geïnjecteerd tijdens runtime met chrome.scripting.executeScript() .

Documenten Update: Manifest V2 Support Timeline

geplaatst op

De manifest V2 naar V3 -overgangstijdlijn werd aangekondigd in deze blogpost en een meer gedetailleerde tijdlijnpagina werd gepubliceerd.

Chrome 96: DeclarativenTrequestWithHostaccess -toestemming

geplaatst op

Met de nieuwe declarativeNetRequestWithHostAccess -toestemming kunnen extensies de chrome gebruiken chrome.declarativeNetRequest API op locaties waarvoor de extensie hostrechten heeft. Dit maakt ook bestaande manifest V2-extensies mogelijk die gebruik maken van webRequest , webRequestBlocking en site-specifieke hostvergunning om te migreren naar de chrome.declarativeNetRequest API zonder dat de gebruiker nieuwe machtigingen goedkeurt.

Chrome 95: Injecteren scripts rechtstreeks in pagina's

geplaatst op

De methode chrome.scripting API's executeScript() kan nu scripts rechtstreeks in de hoofdwereld van een pagina injecteren. Eerder konden extensies alleen rechtstreeks in de geïsoleerde wereld van de extensie injecteren. Zie de documentatie over content scripts voor meer informatie over geïsoleerde werelden.

Chrome 95: Promise Support for Storage API

geplaatst op

Methoden op de manifest V3 -versie van de chrome.storage API retourneren nu beloften.

Beleidsupdate: handhaving van twee stappenverificatie

geplaatst op

Het Beleid Update -blogpost gepubliceerd op 29 juni 2021 is bijgewerkt om de tijdlijn van de twee stappenverificatie te corrigeren.

Chrome 94: Declarative Net Request Statische regelsetwijzigingen

geplaatst op

De chrome.declarativeNetRequest ondersteunt nu het opgeven van maximaal 50 statische regelsets ( max_number_of_static_rulesets ) en het inschakelen van maximaal 10 regelsets ( max_number_of_enabled_static_rulesets ).

Chrome 93: Ondersteuning van kruising isolatie

geplaatst op

Zowel manifest V2- als manifest V3 -extensies kunnen nu kiezen voor kruising isolatie . Deze functie beperkt welke cross-origin bronnen de pagina's van een extensie kunnen laden en maakt het gebruik van lage webplatformfuncties zoals SharedArrayBuffer mogelijk. Opt -in is vereist vanaf Chrome 95.

Beleidsupdate: beleid voor ontwikkelaarsprogramma's bijgewerkt

geplaatst op

Het beleid van het Chrome Web Store Developer Program is bijgewerkt met opheldering van de misleidende installatietactieken, spam en repetitieve inhoudsbeleid. Deze update bevat ook een nieuwe vereiste voor twee stappen om te publiceren in de Chrome Web Store. Lees het blogbericht voor meer informatie.

Blogbericht: uitbreidingsacties in manifest V3

geplaatst op

Chrome -extensies hadden chrome.browserAction en chrome.pageActions API's al jaren, maar manifest V3 vervangen beide door een generiek chrome.actions API. Dit bericht onderzoekt de geschiedenis van deze API's en wat is veranderd in manifest V3. Lees het bericht .

Blogbericht: Introductie van Chrome.Scripting

geplaatst op

De chrome.scripting API is een nieuwe manifest V3 API gericht op, nou ja, scripting. In dit bericht graven we in de motivaties voor deze verandering en bekijken we de nieuwe mogelijkheden van de nieuwe mogelijkheden. Lees het bericht .

Chrome 92: Module Service Worker Support

geplaatst op

Chrome ondersteunt nu JavaScript -modules bij servicemedewerkers. Om een ​​module een module in uw manifest op te geven:

"background": {
  "service_worker": "script.js",
  "type": "module"
}

Dit laadt het werkerscript als een ES -module, waarmee u het import -trefwoord in het script van de werknemer kunt gebruiken om andere modules te importeren.

Chrome 91: Chrome.Action.GetUsersettings ()

geplaatst op

Met de methode nieuwe chrome.action.getUserSettings() kunnen extensies kunnen bepalen of de gebruiker de extensie op de hoofdwerkbalk heeft vastgemaakt.

Chrome 90: Chrome.Scripting.Removecss ()

geplaatst op

Met de methode nieuwe chrome.scripting.removeCSS() kunnen extensies CSS verwijderen die eerder is ingevoegd via chrome.scripting.insertCSS() . Het vervangt chrome.tabs.removeCSS() .

Chrome 90: Returning beloften van scripting.executescript ()

geplaatst op

chrome.scripting.executeScript() ondersteunt nu retournerende beloften. Als de resulterende waarde van de scriptuitvoering een belofte is, zal Chrome wachten tot de belofte zich vestigt en de resulterende waarde retourneert.

Chrome 90: chrome.scripting.executescript () Resultaten omvatten frameID

geplaatst op

Resultaten geretourneerd van chrome.scripting.executeScript() omvatten nu de frameID . De eigenschap frameId geeft het frame aan dat het resultaat afkomstig is, waardoor extensies de resultaten eenvoudig kunnen associëren met de afzonderlijke frames bij het injecteren in meerdere frames.

Chrome 89: Nieuwe API voor het beheren van tab -groepen

geplaatst op

The New chrome.tabGroups API en nieuwe mogelijkheden in chrome.tabs laten extensies Tab -groepen lezen en manipuleren. Vereist manifest V3.

Chrome 89: aanpasbare machtigingen voor webtoegankelijke bronnen

geplaatst op

Definities van webtoegankelijke bronnen in manifest V3 zijn gewijzigd om extensies de toegang tot de resource te laten beperken op basis van de oorsprong of extensie -ID van de aanvrager.

Blogbericht: Extension Manifest Converter

geplaatst op

Het Chrome Extensions -team heeft open "Extension Manifest Converter", een Python -tool dat enkele van de mechanische aspecten van het converteren van extensies automatiseert om V3 te manifesteren. Zie het blogbericht van de aankondiging en haal het van GitHub .

Chrome 88: Manifest V3 Algemene beschikbaarheid

geplaatst op

Manifest V3 is een belangrijke update voor het extensiesplatform; Zie overzicht van manifest V3 voor een samenvatting van nieuwe en gewijzigde functies. Extensies kunnen voorlopig manifest V2 blijven gebruiken, maar dit zal in de nabije toekomst worden afgebouwd. We raden u ten zeerste aan om manifest V3 te gebruiken voor nieuwe extensies en begint met het migreren van bestaande extensies om V3 zo snel mogelijk te manifesteren.