Nampaknya telah dikaburkan sejak Chrome 61 untuk Android pertama melancarkan API perkongsian webnya. Malah, ia menyediakan cara untuk mencetuskan dialog perkongsian asli untuk peranti (desktop jika menggunakan safari) apabila berkongsi kandungan secara langsung dari laman web atau aplikasi web (seperti pautan atau kad kenalan).
Walaupun pengguna sudah dapat berkongsi kandungan dari laman web dengan cara yang asli, mereka mesti mencari pilihan dalam menu penyemak imbas, dan walaupun itu, tidak ada kawalan ke atas kandungan yang dikongsi. Pengenalan API ini membolehkan pemaju menambah keupayaan perkongsian ke aplikasi atau laman web dengan memanfaatkan keupayaan perkongsian kandungan asli pada peranti pengguna.
Kaedah ini mempunyai banyak kelebihan atas kaedah tradisional:
- Pengguna mempunyai pelbagai pilihan perkongsian kandungan yang lebih luas daripada bilangan pilihan terhad yang mungkin anda miliki dalam pelaksanaan DIY anda.
- Dengan membatalkan skrip pihak ketiga dari pelbagai platform sosial, anda boleh mengurangkan masa pemuatan halaman.
- Anda tidak perlu menambah satu siri butang ke laman media sosial dan e -mel yang berbeza. Pilihan perkongsian asli peranti dicetuskan dengan hanya satu butang.
- Pengguna boleh menyesuaikan sasaran bersama pilihan mereka pada peranti mereka tanpa terhad kepada pilihan yang telah ditetapkan.
Arahan sokongan penyemak imbas
Sebelum kita terperinci tentang bagaimana API berfungsi, mari kita selesaikan masalah sokongan penyemak imbas. Sejujurnya, sokongan penyemak imbas tidak sesuai pada masa ini. Ia hanya berfungsi dengan Chrome untuk Android dan Safari (desktop dan iOS).
Penyemak imbas ini menyokong data dari CANIUSE, yang mengandungi lebih banyak maklumat. Nombor menunjukkan bahawa penyemak imbas menyokong ciri ini dalam versi ini dan kemudian.
Desktop
PC mudah alih/tablet
Tetapi jangan digalakkan oleh ini, jangan mengamalkan API ini di laman web anda. Seperti yang anda lihat, melaksanakan sandaran kepada penyemak imbas yang tidak menyokongnya sangat mudah.
Beberapa keperluan untuk menggunakan API
Sebelum anda boleh mengadopsi API ini di projek web anda sendiri, terdapat dua perkara yang perlu diperhatikan:
- Laman web anda mesti disediakan melalui HTTPS. Untuk pembangunan tempatan, API juga berfungsi apabila tapak anda berjalan di localhost.
- Untuk mengelakkan penyalahgunaan, API hanya boleh mencetuskan sebagai tindak balas kepada tindakan pengguna tertentu, seperti peristiwa klik.
Contoh
Untuk menunjukkan cara menggunakan API ini, saya menyediakan demo yang berfungsi pada dasarnya sama seperti laman web saya. Inilah caranya:
Pada masa ini, selepas mengklik butang SHARE, kotak dialog akan muncul menunjukkan beberapa pilihan untuk berkongsi kandungan. Berikut adalah bahagian kod yang membantu kita mencapai ini:
<code>shareButton.addEventListener('click', event => { shareDialog.classList.add('is-open'); });</code>
Mari kita teruskan untuk menukar contoh ini untuk menggunakan API Perkongsian Web. Perkara pertama yang perlu dilakukan ialah memeriksa sama ada API memang disokong oleh penyemak imbas pengguna, seperti yang ditunjukkan di bawah:
<code>if (navigator.share) { // 支持Web 共享API } else { // 回退}</code>
Menggunakan API Perkongsian Web adalah semudah memanggil kaedah navigator.share()
dan lulus objek yang mengandungi sekurang -kurangnya salah satu bidang berikut:
-
url
: Rentetan yang mewakili URL untuk dikongsi. Ini biasanya URL dokumen, tetapi tidak semestinya. Anda boleh berkongsi sebarang URL melalui API Perkongsian Web. -
title
: Rentetan yang mewakili tajuk untuk dikongsi, biasanyadocument.title
. -
text
: Mana -mana teks yang anda mahu sertakan.
Inilah yang kelihatan seperti dalam aplikasi sebenar:
<code>shareButton.addEventListener('click', event => { if (navigator.share) { navigator.share({ title: 'WebShare API Demo', url: 'https://codepen.io/ayoisaiah/pen/YbNazJ' }).then(() => { console.log('Thanks for sharing!'); }) .catch(console.error); } else { // 回退} });</code>
Pada ketika ini, apabila butang SHARE diklik dalam penyemak imbas yang disokong, pemilih asli akan muncul semua sasaran yang mungkin pengguna dapat berkongsi data. Matlamatnya boleh menjadi aplikasi media sosial, e -mel, mesej segera, mesej teks, atau sasaran bersama berdaftar yang lain.
API didasarkan pada janji, jadi anda boleh melampirkan kaedah .then()
untuk memaparkan mesej dan penggunaan yang berjaya .catch()
untuk mengendalikan ralat. Dalam senario kehidupan sebenar, anda mungkin mahu menggunakan coretan kod berikut untuk mendapatkan tajuk dan URL halaman:
<code>const title = document.title; const url = document.querySelector('link[rel=canonical]') ? document.querySelector('link[rel=canonical]').href : document.location.href;</code>
Untuk URL, kami mula -mula menyemak sama ada halaman mempunyai URL kanonik, dan jika ya, gunakan URL itu. Jika tidak, kami mendapat href
dari document.location
.
Adalah idea yang baik untuk memberikan sandaran
Dalam pelayar yang tidak menyokong API Perkongsian Web, kita perlu menyediakan mekanisme sandaran supaya pengguna pada pelayar ini masih boleh mendapatkan beberapa pilihan perkongsian.
Dalam kes kami, kami mempunyai dialog pop timbul dengan beberapa pilihan untuk berkongsi kandungan, dan butang dalam demo kami sebenarnya tidak dikaitkan dengan mana-mana sahaja, kerana, itu hanya demo. Walau bagaimanapun, jika anda ingin tahu cara membuat pautan anda sendiri untuk berkongsi laman web tanpa skrip pihak ketiga, artikel Adam Coti adalah tempat yang bagus untuk bermula.
Apa yang kita mahu lakukan ialah memaparkan dialog sandaran untuk pengguna pelayar yang tidak menyokong API Perkongsian Web. Ia semudah memindahkan kod yang membuka dialog bersama ke blok else
:
<code>shareButton.addEventListener('click', event => { if (navigator.share) { navigator.share({ title: 'WebShare API Demo', url: 'https://codepen.io/ayoisaiah/pen/YbNazJ' }).then(() => { console.log('Thanks for sharing!'); }) .catch(console.error); } else { shareDialog.classList.add('is-open'); } });</code>
Sekarang, tidak kira apa penyemak imbas pengguna, semua pengguna dilindungi. Berikut adalah perbandingan bagaimana butang SHARE berkelakuan pada dua pelayar mudah alih, satu menyokong API Perkongsian Web dan yang lain tidak:
Cubalah! Gunakan pelayar yang menyokong perkongsian web dan pelayar yang tidak disokong. Ia sepatutnya sama dengan demonstrasi di atas.
Meringkaskan
Ini merangkumi hampir semua asas yang perlu anda ketahui mengenai API Perkongsian Web. Dengan melaksanakannya di laman web anda, pelawat dapat lebih mudah berkongsi kandungan anda melalui pelbagai rangkaian sosial, kenalan, dan aplikasi asli yang lain.
Ia juga perlu diperhatikan bahawa jika aplikasi web anda memenuhi kriteria pemasangan aplikasi web progresif dan ditambah ke skrin utama pengguna, anda boleh menambahnya sebagai sasaran bersama. Ini adalah ciri yang boleh anda baca mengenai API Sasaran Saham Web pada pemaju Google.
Walaupun sokongan penyemak imbas bergerigi, kejatuhan mudah dilaksanakan, jadi saya tidak fikir ada sebab lebih banyak laman web tidak mengamalkannya. Jika anda ingin mengetahui lebih lanjut mengenai API ini, anda boleh membaca spesifikasi di sini.
Adakah anda menggunakan API Perkongsian Web? Sila kongsi pengalaman anda dalam komen.
Atas ialah kandungan terperinci Cara Menggunakan API Kongsi Web. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io
Penyingkiran pakaian AI

Video Face Swap
Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Terdapat tiga cara untuk membuat pemutar pemuatan CSS: 1. Gunakan pemutar asas sempadan untuk mencapai animasi mudah melalui HTML dan CSS; 2. Gunakan pemutar tersuai pelbagai mata untuk mencapai kesan lompat melalui masa kelewatan yang berlainan; 3. Tambahkan pemutar dalam butang dan beralih kelas melalui JavaScript untuk memaparkan status pemuatan. Setiap pendekatan menekankan pentingnya butiran reka bentuk seperti warna, saiz, kebolehcapaian dan pengoptimuman prestasi untuk meningkatkan pengalaman pengguna.

Untuk menangani keserasian pelayar CSS dan isu awalan, anda perlu memahami perbezaan sokongan penyemak imbas dan menggunakan awalan vendor dengan munasabah. 1. Memahami masalah biasa seperti Flexbox dan sokongan grid, kedudukan: prestasi tidak sah, dan prestasi animasi adalah berbeza; 2. Periksa status sokongan ciri CANIUSE Ciri; 3. Gunakan dengan betul -webkit-, -moz-, -ms-, -o- dan awalan pengeluar lain; 4. Adalah disyorkan untuk menggunakan autoprefixer untuk menambah awalan secara automatik; 5. Pasang postcss dan konfigurasi penyemak imbas untuk menentukan penyemak imbas sasaran; 6. Secara automatik mengendalikan keserasian semasa pembinaan; 7. Ciri -ciri pengesanan moden boleh digunakan untuk projek lama; 8. Tidak perlu meneruskan konsistensi semua pelayar,

Themaindifferencesbetweendisplay: inline, block, andinline-blockinhtml/cssarelayoutbehavior, spaceusage, andstylingcontrol.1.inlineelementsflowwithtext, notstartonNewlines, abaikanwidth/height, andonyapplylylylylylinddding/

Gunakan atribut clip-path CSS untuk menanam unsur-unsur ke dalam bentuk tersuai, seperti segitiga, takik bulat, poligon, dan lain-lain, tanpa bergantung pada gambar atau SVG. Kelebihannya termasuk: 1. Menyokong pelbagai bentuk asas seperti Circle, Ellipse, Polygon, dan lain -lain; 2. Pelarasan responsif dan boleh disesuaikan dengan terminal mudah alih; 3. Mudah untuk animasi, dan boleh digabungkan dengan hover atau javascript untuk mencapai kesan dinamik; 4. Ia tidak menjejaskan aliran susun atur, dan hanya tanaman kawasan paparan. Penggunaan umum adalah seperti laluan klip bulat: bulatan (50pxatcenter) dan triangle clip-path: polygon (50%0%, 100 0%, 0 0%). Notis

Menetapkan gaya pautan yang telah anda lawati dapat meningkatkan pengalaman pengguna, terutama di laman web yang berintensifkan kandungan untuk membantu pengguna menavigasi lebih baik. 1. Gunakan CSS: Kelas pseudo yang dilawati untuk menentukan gaya pautan yang dikunjungi, seperti perubahan warna; 2. Perhatikan bahawa penyemak imbas hanya membenarkan pengubahsuaian beberapa atribut disebabkan oleh sekatan privasi; 3. Pemilihan warna harus diselaraskan dengan gaya keseluruhan untuk mengelakkan ketangkasan; 4. Terminal mudah alih mungkin tidak memaparkan kesan ini, dan disyorkan untuk menggabungkannya dengan arahan visual lain seperti logo tambahan ikon.

Untuk membuat imej responsif menggunakan CSS, ia boleh dicapai terutamanya melalui kaedah berikut: 1. Gunakan maksimum lebar: 100% dan ketinggian: auto untuk membolehkan imej menyesuaikan diri dengan lebar kontena sambil mengekalkan perkadaran; 2. Gunakan atribut SRCSET dan saiz HTML dengan bijak memuatkan sumber imej yang disesuaikan dengan skrin yang berbeza; 3. Gunakan objek-sesuai dan kedudukan objek untuk mengawal penanaman imej dan paparan fokus. Bersama -sama, kaedah ini memastikan bahawa imej dibentangkan dengan jelas dan indah pada peranti yang berbeza.

Penyemak imbas yang berbeza mempunyai perbezaan dalam parsing CSS, mengakibatkan kesan paparan yang tidak konsisten, terutamanya termasuk perbezaan gaya lalai, kaedah pengiraan model kotak, flexbox dan tahap sokongan susun atur grid, dan tingkah laku yang tidak konsisten bagi atribut CSS tertentu. 1. Pemprosesan gaya lalai tidak konsisten. Penyelesaiannya adalah menggunakan cssreset atau normalisasi.css untuk menyatukan gaya awal; 2. Kaedah pengiraan model kotak versi lama IE adalah berbeza. Adalah disyorkan untuk menggunakan kotak-kotak: kotak sempadan dengan cara yang bersatu; 3. Flexbox dan grid melakukan secara berbeza dalam kes kelebihan atau dalam versi lama. Lebih banyak ujian dan gunakan autoprefixer; 4. Beberapa tingkah laku atribut CSS tidak konsisten. CANIUSE mesti dirujuk dan diturunkan.

Pilihan unit CSS bergantung kepada keperluan reka bentuk dan keperluan responsif. 1.PX digunakan untuk saiz tetap, sesuai untuk kawalan yang tepat tetapi kekurangan keanjalan; 2.EM adalah unit relatif, yang mudah disebabkan oleh pengaruh unsur induk, sementara REM lebih stabil berdasarkan unsur akar dan sesuai untuk skala global; 3.VW/VH didasarkan pada saiz viewport, sesuai untuk reka bentuk yang responsif, tetapi perhatian harus dibayar kepada prestasi di bawah skrin yang melampau; 4. Apabila memilih, ia harus ditentukan berdasarkan sama ada pelarasan responsif, hubungan hierarki elemen dan ketergantungan viewport. Penggunaan yang munasabah boleh meningkatkan fleksibiliti dan penyelenggaraan susun atur.
