首頁 web前端 css教學 在網絡共享API上

在網絡共享API上

Apr 02, 2025 am 02:21 AM

On the Web Share API

Web Share API 真棒! (參見我們的報導)。簡單來說,它利用您所在平台的原生分享功能(如果該平台支持的話)。

我喜歡它,遠勝於其他方法:

為什麼?

  • Web Share API 只需幾行代碼,非常簡單!無需圖片、冗長的JavaScript 或iframe,也不存在過時的風險(咳咳,Google )。
  • 用戶看到的UI 會根據其平台進行定制,甚至可能由用戶自行定制,包含他們想要的內容。

網頁標準做得好!

但並非所有平台都支持它。例如,我正在Chrome 中撰寫這篇博文,它在桌面版Chrome 中不起作用,但在桌面版Safari 中卻可以!

因此,如果我要使用它,我寧願在頁面上放置按鈕之前先測試支持情況。這非常容易:

 if (navigator.share) {
  // 代碼在此處}
登入後複製

以下是一個示例,如果支持該API,我會將一個按鈕添加到文章中:

這段JavaScript 代碼會稍微處理一下,獲取文章的標題和第一段內容,用於API。我喜歡Jeremy Keith 在頁面級別上的處理方式:

 if (navigator.share) {
  navigator.share({
    title: document.querySelector('title').textContent,
    text: document.querySelector('meta[name="description"]').getAttribute('content'),
    url: document.querySelector('link[rel="canonical"]').getAttribute('href')
  });
}
登入後複製

您也可以直接將字符串傳遞給這些值。這只是展示瞭如何在任何頁面上動態執行操作的方法。

Jeremy 還一直倡導Web Share API 的JavaScript 可選版本,他認為它可以這樣工作:

 <button onclick="navigator.share(...)">Share</button>
登入後複製

然後,用於指定標題和文本:

 <button data-title="..." data-text="...">Share</button>
登入後複製

我覺得這有點奇怪,使用了逗號。如果標題中包含逗號怎麼辦?指定URL 又如何呢?我們可以將它們全部拆分成屬性嗎?我想我知道Jeremy 會怎麼說:這是一個簡單的聲明式版本。如果您想更改默認行為,這就是JavaScript 的用途。

但是,如果瀏覽器不支持,它是否應該存在呢?當然,如果您使用polyfill:

這個polyfill 會在不支持的情況下將按鈕變成mailto: 體驗。這非常巧妙。我認為如果我是在生產環境中,我可能會只在真正支持該功能時才添加按鈕。

以上是在網絡共享API上的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1655
14
CakePHP 教程
1413
52
Laravel 教程
1306
25
PHP教程
1252
29
C# 教程
1226
24
Google字體可變字體 Google字體可變字體 Apr 09, 2025 am 10:42 AM

我看到Google字體推出了新設計(Tweet)。與上一次大型重新設計相比,這感覺更加迭代。我幾乎無法分辨出區別

如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 如何使用HTML,CSS和JavaScript創建動畫倒計時計時器 Apr 11, 2025 am 11:29 AM

您是否曾經在項目上需要一個倒計時計時器?對於這樣的東西,可以自然訪問插件,但實際上更多

HTML數據屬性指南 HTML數據屬性指南 Apr 11, 2025 am 11:50 AM

您想了解的有關HTML,CSS和JavaScript中數據屬性的所有信息。

如何通過CSS選擇第一個類名為item的子元素? 如何通過CSS選擇第一個類名為item的子元素? Apr 05, 2025 pm 11:24 PM

在元素個數不固定的情況下如何通過CSS選擇第一個指定類名的子元素在處理HTML結構時,常常會遇到元素個數不�...

為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? 為什麼Flex佈局中的紫色斜線區域會被誤認為是'溢出空間”? Apr 05, 2025 pm 05:51 PM

關於Flex佈局中紫色斜線區域的疑問在使用Flex佈局時,你可能會遇到一些令人困惑的現象,比如在開發者工具(d...

使Sass更快的概念證明 使Sass更快的概念證明 Apr 16, 2025 am 10:38 AM

在一個新項目開始時,Sass彙編發生在眼睛的眨眼中。感覺很棒,尤其是當它與browsersync配對時,它重新加載

在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? 在前端開發中,如何使用CSS和JavaScript實現類似Windows 10設置界面的探照燈效果? Apr 05, 2025 pm 10:21 PM

在前端開發中如何實現類似Windows...

我們如何創建一個在SVG中生成格子呢模式的靜態站點 我們如何創建一個在SVG中生成格子呢模式的靜態站點 Apr 09, 2025 am 11:29 AM

格子呢是一塊圖案布,通常與蘇格蘭有關,尤其是他們時尚的蘇格蘭語。在Tar​​tanify.com上,我們收集了5,000多個格子呢

See all articles