Web Share API

Hogyan használja a web natív share-API-ját

Az ajándékozás ajándéka

A webalkalmazások következő generációjának használata egyértelmű előnyökkel jár, amelyek közül az egyik a navigátor share-API használata. A folyamatosan fejlődő, gazdag képességkészletnek köszönhetően a választott navigátor mostantól meghívhatja a Web Share API-t, hogy megossza a következő elemeket:

  • egyszerű szöveg
  • linkeket cím megadásával
  • fájlokat közvetlenül

Ha egy felhasználó böngészője támogatja az új navigator.share alkalmazást, akkor most már használhatja ezt a funkciót!

Bemutató idő!

A megosztási funkciók használata a lehető legegyszerűbb, íme egy példa, amelyet ténylegesen használnak a webhelyen:

<Button
  className={classes.container}
  aria-label={"Share this article"}
  onClick={() => {
    // '.share' can only by called when
    // triggered by click-events to make
    // sure it's the user's intention.
    navigator.share?.({ 
      title: info.title,
      text: info.description,
      url: `${getBaseRoute(routes.posts)}/${info.slug.current}`,
    }).catch(console.error);
    
    // Optionally virbrate slightly.
     navigator.vibrate?.([30, 20, 10]);
  }}>
  <ShareIcon />
  <Typography>{"Share"}</Typography>
</Button>

Amint láthatja, ez a visszahívás meghívja az async share-function funkciót (ha lehetséges), és ad néhány adatot, hogy egy szép URL + leíró cím és felirat megjelenhessen a megosztási lapon. A bemutatott kódot kissé eltérő változatban használják a cikk végén. Ha böngészője támogatja a megosztást, akkor egy kapcsolódó gomb megjelenik a "Műveletek" sorban.

Hol használható

Írása szerint az API többnyire a népszerű böngészők mobil változataiban használható (Chrome, Opera, Safari), de csak az Asztalon található Safari + Edge alkalmazásban. Mivel ez a funkcionalitás nem korlátozódik a speciális hardverigényekre, a következő hónapokban a támogatás növekedésére számítok.

És igen, ez egy gyors bevezetés volt a Web Share API-hoz, további információkért nézze meg a linkelt web.dev-t, valamint a kiegészítés MDN-cikkeit.

  • Tom