JAKARTA, cssmayo.com – Saat menekan tombol “Bagikan” di sebuah website di smartphone, dan tiba-tiba muncul menu native sistem operasi yang menampilkan semua aplikasi yang bisa menerima konten — WhatsApp, Instagram, email, Notes, dan lainnya — itulah Web Share API yang sedang bekerja. Tidak ada popup buatan developer, tidak ada daftar ikon media sosial yang harus diupdate manual. Cukup satu API, dan sistem operasi yang mengurus sisanya.
Web Share API adalah browser API yang memungkinkan website menggunakan mekanisme berbagi native dari sistem operasi — sama persis dengan yang digunakan aplikasi native saat menekan tombol share. Selain itu, dengan WSA, developer tidak perlu lagi membangun dan memelihara integrasi terpisah untuk setiap platform media sosial. Hasilnya adalah pengalaman berbagi yang lebih mulus, lebih familiar, dan selalu up-to-date dengan aplikasi yang terinstal di perangkat pengguna.
Cara Kerja Web Share API

Web Share API sangat mudah digunakan. Cukup panggil metode navigator.share() dengan objek yang berisi data yang ingin dibagikan:
async function shareContent() {
// Cek apakah browser mendukung Web Share API
if (!navigator.share) {
console.log('Web Share API tidak didukung browser ini');
return;
}
try {
await navigator.share({
title: 'Judul Konten yang Dibagikan',
text: 'Deskripsi singkat tentang konten ini',
url: 'https://example.com/artikel-ini',
});
console.log('Konten berhasil dibagikan');
} catch (error) {
if (error.name !== 'AbortError') {
console.error('Error saat berbagi:', error);
}
}
}
Selain itu, navigator.share() mengembalikan Promise yang resolve saat pengguna berhasil berbagi, dan reject dengan AbortError jika pengguna membatalkan dialog berbagi. Oleh karena itu, penting untuk menangani AbortError secara terpisah karena membatalkan dialog adalah tindakan yang normal dan tidak perlu diperlakukan sebagai error.
Data yang Bisa Dibagikan
WSA mendukung beberapa jenis data:
- title: Judul konten yang akan ditampilkan di aplikasi penerima
- text: Teks deskripsi atau pesan yang menyertai konten
- url: URL halaman atau tautan yang ingin dibagikan
- files: Array objek File yang memungkinkan berbagi gambar, video, audio, dan dokumen langsung dari browser
Berbagi file adalah fitur yang lebih baru dari WSA Level 2. Berikut contohnya:
async function shareImage(imageFile) {
if (!navigator.canShare || !navigator.canShare({ files: [imageFile] })) {
console.log('Berbagi file tidak didukung');
return;
}
await navigator.share({
files: [imageFile],
title: 'Foto dari galeri',
text: 'Lihat foto ini!',
});
}
Batasan Penting Web Share API
Ada beberapa batasan yang perlu dipahami:
- Harus dipicu user gesture:
navigator.share()hanya bisa dipanggil sebagai respons terhadap interaksi pengguna — klik tombol, tap, atau gesture lainnya. Tidak bisa dipanggil secara otomatis saat halaman dimuat. - Hanya di HTTPS: Web Share API hanya tersedia di halaman yang dimuat melalui HTTPS atau localhost. Selain itu, ini adalah batasan keamanan yang diterapkan browser.
- Ketersediaan berbeda per platform: Di desktop, dukungannya lebih terbatas — Chrome di Windows dan macOS mendukung, namun Firefox desktop belum mendukung sepenuhnya.
- Setidaknya satu properti wajib ada: Objek yang dikirimkan harus berisi setidaknya satu dari
title,text, atauurl.
Deteksi Dukungan yang Tepat
Cara yang tepat untuk menggunakan WSA dengan fallback:
function setupShareButton() {
const shareButton = document.getElementById('share-btn');
if (navigator.share) {
// Gunakan Web Share API
shareButton.addEventListener('click', async () => {
await navigator.share({
title: document.title,
url: window.location.href,
});
});
} else {
// Fallback: salin URL ke clipboard
shareButton.addEventListener('click', () => {
navigator.clipboard.writeText(window.location.href);
shareButton.textContent = 'URL disalin!';
});
}
}
Web Share API dalam Progressive Web App
Web Share API adalah salah satu fitur yang menjadikan Progressive Web App (PWA) terasa benar-benar seperti aplikasi native. Saat pengguna menginstal PWA di layar utama perangkat mereka, pengalaman berbagi yang mulus melalui WSA menjadi salah satu pembeda terbesar antara PWA dan website biasa yang dibuka di browser.
Bayangkan sebuah aplikasi berita berbasis PWA. Tanpa WSA, tombol berbagi hanya bisa menampilkan daftar statis ikon platform — Facebook, Twitter, WhatsApp — yang dibuat manual oleh developer. Ikon-ikon ini sering tidak lengkap, tampilannya tidak konsisten dengan desain sistem operasi, dan perlu diupdate setiap kali ada platform baru yang populer. Selain itu, pengguna yang ingin berbagi ke aplikasi yang tidak ada dalam daftar tidak bisa melakukannya sama sekali.
Dengan WSA, semua keterbatasan itu hilang. Sistem operasi yang menampilkan dialog berbagi dengan semua aplikasi yang tersedia di perangkat pengguna. Hasilnya adalah pengalaman yang familiar, lengkap, dan tidak perlu pemeliharaan dari sisi developer.
Praktik Terbaik Web Share API
Beberapa panduan yang memastikan implementasi Web Share API berjalan dengan baik:
- Selalu sediakan fallback: Tidak semua browser mendukung WSA — terutama di desktop. Sediakan alternatif seperti tombol salin URL atau popup share tradisional untuk browser yang tidak mendukung.
- Gunakan
navigator.canShare()untuk file: Sebelum mencoba berbagi file, selalu cek dengannavigator.canShare({ files: [...] })apakah tipe file tersebut bisa dibagikan di perangkat saat ini. - Tangani AbortError dengan benar: Pengguna yang menutup dialog tanpa memilih aplikasi menghasilkan AbortError. Ini bukan error yang perlu dilaporkan ke sistem monitoring — cukup abaikan secara diam-diam.
- Buat teks yang bermakna: Isi properti
titledantextdengan konten yang informatif dan menarik. Teks inilah yang akan muncul sebagai preview saat konten dibagikan ke platform yang mendukungnya. - Tempatkan di tempat yang tepat: Tombol share paling efektif ditempatkan di akhir artikel, di header halaman produk, atau di dekat konten yang paling mungkin ingin dibagikan pengguna.
Kesimpulan
Web Share API adalah jembatan yang elegan antara web dan ekosistem aplikasi native di perangkat pengguna. Dengan satu panggilan fungsi, website bisa menghadirkan pengalaman berbagi yang sama baiknya dengan aplikasi native — tanpa perlu membangun dan memelihara integrasi dengan setiap platform secara terpisah. Selain itu, seiring semakin luasnya dukungan browser termasuk di desktop, WSA akan semakin menjadi standar yang diharapkan oleh pengguna modern yang terbiasa berbagi konten dengan mudah. Bagi developer yang ingin aplikasi web mereka terasa lebih native dan lebih menyatu dengan ekosistem perangkat pengguna, mengimplementasikan WSA adalah langkah yang sangat mudah namun memberikan dampak yang sangat nyata pada pengalaman pengguna sehari-hari.
Eksplorasi lebih dalam Tentang topik: Techno
Cobain Baca Artikel Lainnya Seperti: Page Visibility API: Deteksi Status Tab Browser secara Real-Time

