精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

Web上的分享(Share)API

開發 前端
我認為Web Share API非???,簡而言之,它會利用您所使用的平臺上的原生共享功能(如果該平臺支持的話)。

我認為Web Share API非常酷,簡而言之,它會利用您所使用的平臺上的原生共享功能(如果該平臺支持的話)。

我喜歡這個:

Web上的分享(Share)API

遠遠不止這些東西:

Web上的分享(Share)API

為什么?

  • Web Share API只是幾行代碼。簡單!沒有圖像,沒有重量級的JavaScript或iframe。
  • 用戶看到的UI是針對其平臺定制的,甚至可能是由他們定制的,以在其中包含他們想要的東西。

好樣的,Web標準。

但并不是所有地方都支持。例如,我在Chrome瀏覽器中寫這篇博客文章,在桌面Chrome瀏覽器中無法使用,但在桌面的Safari中卻可以工作

Web上的分享(Share)API

所以,如果我要使用它,我寧愿在把按鈕放在頁面上之前先測試一下是否支持。這是非常簡單的:

  1. if (navigator.share) { 
  2.  

下面是一個例子,如果API被支持的話,我把一個<button>放在文章上,HTML和CSS省略。

Web上的分享(Share)API

JavaScript做了一些花哨的動作來獲取文章的標題和第一段,以便在API中使用。我喜歡Jeremy Keith在頁面上的做法:

  1. if (navigator.share) { 
  2.   navigator.share( 
  3.     { 
  4.       title: document.querySelector('title').textContent, 
  5.       text: document.querySelector('meta[name="description"]').getAttribute('content'), 
  6.       url: document.querySelector('link[rel="canonical"]').getAttribute('href') 
  7.     } 
  8.   ); 

你也可以將字符串傳遞給這些值,這只是在展示你如何在任何頁面上動態地做一些工作。

Jeremy也一直在倡導建立一個JavaScript可選的Web Share API版本,他認為可以像這樣工作。

  1. <button type="share"> 

然后,指定標題和文本:

  1. <button type="share" value="title,text"> 

用逗號對我來說有點時髦,如果標題中包含逗號怎么辦?那指定URL呢?我們可以將它們全部分成屬性嗎?我想我知道Jeremy會說什么:這是一個簡單的聲明性版本,如果你想改變默認行為,那就是JavaScript的作用。

如何使用Web Share API

自從在Android的Chrome 61中首次引入以來,Web Share API似乎已經受到關注。從本質上講,它提供了一種方法,當直接從網站或Web應用程序分享內容時,可以觸發設備(或桌面,如果使用Safari)的本地分享對話框,例如鏈接或聯系卡。

雖然用戶已經可以通過原生方式分享網頁上的內容,但他們必須在瀏覽器菜單中找到這個選項,即使如此,也無法控制分享的內容。該API的引入讓開發者可以利用用戶設備上的原生內容分享功能,將分享功能添加到應用或網站中。

Web上的分享(Share)API

與傳統方法相比,這種方法具有許多優勢:

  • 與你在DIY實現中可能擁有的有限數量的內容相比,用戶將獲得廣泛的內容分享選擇。
  • 你可以通過刪除各個社交平臺上的第三方腳本來縮短頁面加載時間。
  • 你不需要為不同的社交媒體網站和電子郵件添加一系列按鈕,一個按鈕就足以觸發設備的原生分享選項。
  • 用戶可以在自己的設備上定制自己喜歡的分享目標,而不是僅僅局限于預定義的選項。

關于瀏覽器支持的說明

在介紹API的工作細節之前,我們先把瀏覽器支持的問題解決掉。說實話,目前瀏覽器的支持度并不高。它只適用于Android版Chrome瀏覽器,以及Safari(桌面和iOS)。

Web上的分享(Share)API

但不要因此而不愿意在網站上采用這個API。要實現一個支持不提供支持的瀏覽器的后備功能是很容易的,你會看到的。

使用它的一些要求

在您自己的Web項目上采用此API之前,需要注意兩點:

  • 您的網站必須通過HTTPS提供服務。為了促進本地開發,當您的站點通過localhost運行時,該API也可以使用。
  • 為了防止濫用,API只能在響應一些用戶操作(如點擊事件)時觸發。

這是一個例子

為了演示如何使用這個API,我準備了一個demo,它的工作原理與我的網站上的工作原理基本相同。該示例使用DIY方式,自己自定義分享對話框。

Web上的分享(Share)API

此時,一旦點擊分享按鈕,就會彈出一個對話框,顯示出分享內容的幾個選項,這是代碼的一部分,可幫助我們實現這一目標:

  1. shareButton.addEventListener('click', event => { 
  2.   shareDialog.classList.add('is-open'); 
  3. }); 

讓我們繼續進行示例轉換,以改為使用Web Share API。首先要做的是檢查用戶的瀏覽器是否確實支持該API,如下所示:

  1. if (navigator.share) { 
  2.   // Web Share API is supported 
  3. } else { 
  4.   // Fallback 

使用Web Share API就像調用 navigator.share() 方法并傳遞一個至少包含以下字段之一的對象一樣簡單。

  • url:一個字符串,代表要共享的URL。通常是文檔的網址,但不是必須的。您可以通過Web Share API共享任何URL。
  • title:表示要共享的標題的字符串,通常是 document.title。
  • text:您要包括的任何文本。

實際情況如下:

  1. shareButton.addEventListener('click', event => { 
  2.   if (navigator.share) { 
  3.     navigator.share({ 
  4.       title: 'WebShare API Demo', 
  5.       url: 'https://codepen.io/ayoisaiah/pen/YbNazJ' 
  6.     }).then(() => { 
  7.       console.log('Thanks for sharing!'); 
  8.     }) 
  9.     .catch(console.error); 
  10.   } else { 
  11.     // fallback 
  12.   } 
  13. }); 

這時,一旦在支持的瀏覽器中點擊分享按鈕,原生選取器就會彈出所有用戶可以分享數據的可能目標。目標可以是社交媒體應用、電子郵件、即時通訊、短信或其他注冊分享目標。

API是基于Promise的,所以你可以附加一個 .then() 方法,以便在共享成功時顯示成功消息,并使用 .catch() 處理錯誤。。在實際情況下,您可能希望使用以下代碼段獲取頁面的標題和URL:

  1. const title = document.title; 
  2. const url = document.querySelector('link[rel=canonical]') ? document.querySelector('link[rel=canonical]').href : document.location.href; 

對于URL,我們首先檢查該頁面是否有一個規范的URL,如果有,就使用它。否則,我們從 document.location 中抓取 href。

提供后備方案是個好主意

在不支持Web Share API的瀏覽器中,我們需要提供一種后備機制,以便那些瀏覽器上的用戶仍然可以使用一些共享選項。

在上面的DIY例中,我們彈出一個對話框,其中有一些用于共享內容的選項,并且演示中的按鈕實際上并沒有鏈接到任何地方,因為這是一個演示。但是,如果您想了解如何在不使用第三方腳本的情況下創建自己的鏈接來共享網頁,那么Adam Coti的文章就是一個不錯的起點。

我們要做的是在不支持Web Share API的瀏覽器上為用戶顯示后備對話框。這就像將打開共享對話框的代碼移到 else 塊中一樣簡單:

  1. shareButton.addEventListener('click', event => { 
  2.   if (navigator.share) { 
  3.     navigator.share({ 
  4.       title: 'WebShare API Demo', 
  5.       url: 'https://codepen.io/ayoisaiah/pen/YbNazJ' 
  6.     }).then(() => { 
  7.       console.log('Thanks for sharing!'); 
  8.     }) 
  9.     .catch(console.error); 
  10.   } else { 
  11.     shareDialog.classList.add('is-open'); 
  12.   } 
  13. }); 

現在,無論使用哪種瀏覽器,所有用戶都將受到覆蓋。以下是分享按鈕在兩個移動瀏覽器上的表現比較,一個是支持Web Share API,另一個是不支持。

Web上的分享(Share)API

試試吧!使用支持Web Share的瀏覽器和不支持的瀏覽器。它的工作原理應該與上面的演示類似。

結束

這幾乎涵蓋了您需要了解的有關Web Share API的基本內容。通過在您的網站上實施它,訪問者可以在更廣泛的社交網絡上更容易地與聯系人和其他原生應用程序分享您的內容。

另外值得注意的是,如果你的Web應用符合WPA Web應用安裝標準,你能夠將其添加為共享目標,并添加到用戶的主屏幕上。Web Share Target API的此功能,您可以在Google Developers上了解。

盡管對瀏覽器的支持不多,但回退很容易實現,因此我認為沒有理由不采用這種方式。

 

責任編輯:趙寧寧 來源: 今日頭條
相關推薦

2012-04-11 09:48:01

2009-01-15 09:43:51

Web架構設計緩存

2009-06-16 09:41:00

2024-07-22 17:21:05

2011-03-31 13:13:24

編程

2011-06-14 09:27:43

高性能WEB開發

2012-01-10 16:22:25

Web

2013-08-16 10:14:32

APIWeb應用以API為中心的Web

2009-12-29 16:08:41

Silverlight

2022-03-15 12:43:44

Web APIAPI

2020-11-27 11:19:55

開發API工具

2019-07-16 11:15:04

JavaScriptCSS數據庫

2012-03-28 09:49:55

WEB特效

2013-12-12 10:46:22

2012-04-04 22:36:52

iOS5

2011-10-27 16:24:48

API

2011-09-16 14:21:47

Web API

2010-09-29 16:20:06

J2MEWeb服務API

2024-10-17 09:21:30

2011-09-23 09:55:15

WCF Web API
點贊
收藏

51CTO技術棧公眾號

亚洲一区在线观看免费观看电影高清| 国产一区中文字幕| 在线成人激情黄色| 91性高潮久久久久久久| 丝袜老师在线| 亚洲少妇屁股交4| 久久精品99久久久| 91精品国产综合久久国产大片| 久久久99精品视频| 免费a在线观看| 国产一区二区三区四区五区入口| 青青草原成人在线视频| 麻豆视频在线免费看| 蜜臀久久99精品久久一区二区| 欧美日韩国产美| 国产成人无码精品久久久性色| 98在线视频| 国产精品综合视频| 国产精品99导航| 国产精品a成v人在线播放| 日韩精品免费| 国产视频精品一区二区三区| ass极品水嫩小美女ass| 123成人网| 第一福利永久视频精品| 黄网站色视频免费观看| 日本韩国在线视频爽| 26uuu另类欧美亚洲曰本| 亚洲va欧美va国产综合剧情| 青青草视频在线观看免费| 亚洲午夜久久久久久尤物| 久久精品国产成人精品| 东京热无码av男人的天堂| 小嫩嫩12欧美| 亚洲护士老师的毛茸茸最新章节| 久久综合桃花网| 日韩一区二区三区四区五区| 欧美性猛交一区二区三区精品| 国产中文字幕免费观看| 91九色在线播放| 一级精品视频在线观看宜春院| 中文字幕一区二区中文字幕 | 可以免费看不卡的av网站| 久久久久亚洲精品成人网小说| 色在线观看视频| 五月天久久777| 日韩在线观看视频免费| 国产馆在线观看| 日本电影一区二区| 美女视频第一区二区三区免费观看网站 | 精品国产乱码久久久久久88av | 日本特级黄色片| 亚洲最黄网站| 欧美一区二区三区……| 在线免费黄色av| 久久欧美肥婆一二区| 国产不卡视频在线| 日韩综合在线观看| 日韩精品国产精品| 国产久一一精品| 91激情在线观看| 国产一区二区h| 99伊人久久| 人妻va精品va欧美va| 99久久免费精品| 欧美国产二区| av中文天堂在线| 亚洲天堂网中文字| 欧美视频在线第一页| av漫画网站在线观看| 欧美日韩中文字幕在线| 男人天堂成人在线| 91精品国产自产观看在线 | 亚洲国产日韩在线一区| 成人偷拍自拍| 亚洲欧美制服综合另类| 日韩欧美视频免费观看| 欧美网站在线| 日本成熟性欧美| 亚洲天堂手机在线| 懂色av噜噜一区二区三区av| 久久人人九九| 1769视频在线播放免费观看| 一区二区三区美女| 国产特级黄色大片| 涩涩涩久久久成人精品| 精品国产一区二区精华| 香蕉视频久久久| 亚洲人metart人体| 欧美午夜一区二区三区| 欧美激情精品久久久久久| 免费毛片在线播放免费| 羞羞答答国产精品www一本 | 欧美9999| 亚洲欧美日韩一区二区在线| 成人免费精品动漫网站| 国产视频一区欧美| 91社区国产高清| 男人的天堂在线| 一区二区理论电影在线观看| 成人精品视频一区二区| 18国产精品| 中文字幕不卡在线视频极品| 日韩精品在线不卡| 精品一区二区av| 欧美另类网站| 免费污视频在线观看| 欧美日韩中文字幕精品| 久久久久国产精品区片区无码| 亚洲最大黄网| 国产精品都在这里| 少妇一级淫片免费看| 亚洲视频资源在线| 国产福利一区视频| 久久精品亚洲成在人线av网址| 久久精品国产亚洲精品2020| 无码人妻丰满熟妇奶水区码| 不卡欧美aaaaa| 日韩中文在线字幕| 欧美高清xxx| 亚洲人成在线观看| a v视频在线观看| 久99久精品视频免费观看| 日韩一级片在线播放| 爱爱免费小视频| 精品动漫3d一区二区三区免费版| 成人av在线网址| 二区在线观看| 欧美性生交xxxxxdddd| 第一页在线视频| 亚洲天堂一区二区三区四区| 国产精品亚洲网站| 黄色av免费在线观看| 欧美日韩国产在线播放| 男人网站在线观看| 国产精品久久久久无码av色戒| 久久99国产精品视频| 国内精品久久影院| 国产 欧美 精品| 亚洲国产毛片aaaaa无费看| 韩国三级与黑人| 欧美一区91| 92看片淫黄大片看国产片| 欧美一级二级三级区| 欧美色视频在线观看| 干b视频在线观看| 热久久一区二区| 亚洲精品一区国产精品| 久久亚洲人体| 日韩有码片在线观看| 国产又大又黄又爽| 亚洲人成电影网站色mp4| 精品国产鲁一鲁一区二区三区| 欧美超碰在线| 成人性生交大片免费观看嘿嘿视频| 日本在线免费看| 91精品久久久久久久91蜜桃| 任你操精品视频| 久久超级碰视频| 国产大尺度在线观看| 麻豆精品国产| 韩国视频理论视频久久| 欧美孕妇性xxxⅹ精品hd| 91黄色免费观看| 日本不卡一区视频| 狠狠色伊人亚洲综合成人| 性做爰过程免费播放| 中文字幕一区日韩精品 | 午夜影院在线观看国产主播| 国产视频精品自拍| 中文字幕久久久久| 亚洲免费成人av| 欧美xxxxx精品| 日韩成人精品在线观看| 国产成人三级视频| 久久精品福利| 国产精品免费久久久| 国产视频在线播放| 亚洲精品一线二线三线| 国产污视频网站| 亚洲特黄一级片| 日本护士做爰视频| 美女一区二区三区在线观看| 色综合视频一区二区三区高清| 亚洲无在线观看| 国产精品啊v在线| 热re99久久精品国产99热| 亚洲精品tv| 97高清免费视频| h视频网站在线观看| 精品国产一区久久| 香蕉污视频在线观看| 伊人色综合久久天天人手人婷| 无码人妻精品一区二区三区温州| 久99久精品视频免费观看| 国产精品网站免费| 偷拍欧美精品| 蜜桃麻豆91| 中文字幕一区图| 国产精品久久久一区| sis001亚洲原创区| 中文字幕在线看视频国产欧美在线看完整 | 国产精欧美一区二区三区蓝颜男同| 最近2019中文字幕一页二页 | 成人18精品视频| 亚洲综合欧美激情| 亚洲国产一区二区三区高清 | 亚洲一区成人| 久久久成人精品一区二区三区| 五月天亚洲色图| 97久久人人超碰caoprom欧美| 91亚洲视频| 欧美亚洲另类制服自拍| 免费看电影在线| 久久国产一区二区三区| 国产在线一在线二| 亚洲国产精品一区二区久| 国产日本精品视频| 欧美性色黄大片| 亚洲精品国产无码| 无吗不卡中文字幕| 精品无码黑人又粗又大又长| 中文字幕综合网| 国产aaaaaaaaa| 国产女主播一区| 精品人妻一区二区三区视频| www.在线欧美| 欧美三级电影一区| 免费在线观看日韩| 中文字幕日韩av资源站| 99久久久无码国产精品性| 99久久精品情趣| 91精品人妻一区二区三区四区| 激情欧美日韩一区二区| 亚洲老女人av| 美腿丝袜亚洲三区| www亚洲成人| 日本一区中文字幕| 欧美日韩在线免费播放| 久久亚洲美女| 男人操女人免费软件| 国产农村妇女精品一二区| 每日在线更新av| 亚洲永久字幕| 男人揉女人奶房视频60分| 国产午夜久久| 37pao成人国产永久免费视频| 亚洲女优在线| 欧美三级一级片| 模特精品在线| 国产黄色特级片| 日本欧美一区二区| 在线观看岛国av| 国产专区欧美精品| 先锋资源在线视频| 成人免费福利片| 右手影院亚洲欧美| 国产欧美精品一区| 免费在线黄色网| 午夜国产精品影院在线观看| 波多野结衣视频网站| 日本电影亚洲天堂一区| 亚洲最大成人在线视频| 欧美一激情一区二区三区| 亚洲第一页视频| 精品视频一区在线视频| 成人高清免费在线播放| 不用播放器成人网| 激情av在线播放| 日韩av成人在线观看| 伊人久久精品| 国产伦精品一区二区三区在线| 免费成人高清在线视频theav| 五月天亚洲综合情| 欧美国产小视频| 国产精品久久久久久久乖乖| 免费日韩av| 亚洲精品免费一区亚洲精品免费精品一区 | 国产日韩精品在线看| av在线一区二区| 四虎永久免费在线观看| 亚洲人成精品久久久久| 在线观看黄网站| 欧美久久免费观看| 色呦呦免费观看| 色777狠狠综合秋免鲁丝| 蜜乳av一区| 国产精品视频yy9099| 国产精品乱战久久久| 久久久欧美一区二区| 欧美大片免费| 5g国产欧美日韩视频| 九九综合九九| 真人做人试看60分钟免费| 欧美中文日韩| 少妇熟女视频一区二区三区| 国产欧美日韩视频一区二区| 久久综合激情网| 欧美视频在线播放| 污视频网站免费观看| 精品少妇一区二区三区日产乱码| 视频二区在线| 久久97久久97精品免视看| 秋霞国产精品| 国外成人在线视频网站| 国产高清久久| av丝袜天堂网| www.激情成人| 欧美丰满艳妇bbwbbw| 欧美色窝79yyyycom| 无码精品在线观看| 欧美久久久精品| 香蕉久久一区| 日韩激情视频| 亚洲在线免费| 性欧美18—19sex性高清| 亚洲手机成人高清视频| 在线观看亚洲一区二区| 精品一区精品二区| 日韩精品美女| 国产视频在线观看一区| 欧美欧美天天天天操| 亚洲一区二区三区观看| 久久久高清一区二区三区| 99视频在线看| 亚洲精品一区二区三区精华液 | 久久免费视频在线观看| 亚洲精品在线播放| 影音先锋男人的网站| 蜜臀av国产精品久久久久| 蜜桃传媒一区二区亚洲| 欧美丝袜一区二区| 亚洲欧美日韩动漫| 97国产真实伦对白精彩视频8| 51亚洲精品| 成年人网站国产| 成人av网在线| www.国产成人| 日韩电影免费在线观看中文字幕| 888av在线视频| 国产经品一区二区| 九九久久免费视频| 亚洲线精品一区二区三区八戒| 国产美女明星三级做爰| 美日韩丰满少妇在线观看| 亚州精品国产| 日本三级福利片| 国产一区二区毛片| 欧美成人精品欧美一级| 精品福利av导航| 成人在线黄色电影| 你懂的视频在线一区二区| 久久久久国产一区二区| 免费成人深夜天涯网站| 欧美精品乱码久久久久久| 黄视频网站在线| av成人综合网| 亚洲精品九九| 熟女少妇内射日韩亚洲| 欧美日韩国产影片| 99在线视频观看| 国产欧美日韩综合一区在线观看 | 88av.com| 亚洲欧洲色图综合| 亚洲高清在线观看视频| 51午夜精品视频| 日韩欧美在线中字| 国产探花一区二区三区| 午夜精品福利久久久| 国产三级视频在线| 亚洲影影院av| 国产视频欧美| www.99re6| 亚洲成人教育av| 3d欧美精品动漫xxxx无尽| 在线播放 亚洲| 成人av电影在线网| 中文文字幕一区二区三三| 欧美精品中文字幕一区| 要久久电视剧全集免费| 91亚洲精品久久久蜜桃借种| 亚洲一二三专区| 国产黄色在线播放| 成人在线视频网址| 日韩成人午夜电影| 国产在线视频第一页| 一区二区三区天堂av| 一区二区三区高清在线观看| av视屏在线播放| 亚洲影视在线观看| 国产三级在线看| 国产伦理一区二区三区| 久久国产精品99久久人人澡| 日本a在线观看| 中文字幕亚洲在线| 欧美男人操女人视频| √天堂资源在线| 色妹子一区二区| 久操av在线| 亚洲一区美女|