最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

基于vue hash模式微信分享#號(hào)的解決

 更新時(shí)間:2020年09月07日 09:51:42   作者:約德爾蒙  
這篇文章主要介紹了基于vue hash模式微信分享#號(hào)的解決,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧

看代碼吧~

 // 問(wèn)題描述在微信中分享到朋友圈或好友時(shí),分享出去的路由被破壞,打開分享的鏈接,路由中的“#”會(huì)被去掉并追加?fromTimeline之類的后綴參數(shù),這就造成了分享出去的鏈接只能進(jìn)入首頁(yè),無(wú)法正常跳轉(zhuǎn)到其他路由。
    // 獲取簽名
    this.$ajax.post(this.apiUrl+"/api/wxShare/getWxConfig",
     this.$qs.stringify({"url":window.location.href.split('#')[0]})).then((res) => {//有人說(shuō)要加轉(zhuǎn)譯encodeURIComponent本人沒加具體跟你們的后臺(tái)協(xié)商
     if (res.data.status.code === '0000') {
      wx.config({
       debug: false,
       appId: res.data.data.appid,
       timestamp: res.data.data.timestamp,
       nonceStr: res.data.data.nonceStr,
       signature: res.data.data.signature,
       jsApiList: [
        'onMenuShareTimeline',
        'onMenuShareAppMessage'
       ]
      });
     }
    })
      //處理驗(yàn)證失敗的信息
    wx.error(function (res) {
     alert('驗(yàn)證失敗返回的信息:',res);
    });
    console.log(window.location.href.split('#')[0])
    wx.ready(function () {
     // 分享給朋友
     wx.onMenuShareAppMessage({
      title: '這是標(biāo)題', // 分享標(biāo)題
      desc: "這是測(cè)試的數(shù)據(jù)", // 分享描述
      link: window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1], // 分享鏈接!這里是關(guān)鍵 因?yàn)槲⑿艜?huì)把我們分享的鏈接截取掉 我在這里手動(dòng)拼接上
      imgUrl: '', // 分享圖標(biāo)
      type: '', // 分享類型,music、video或link,不填默認(rèn)為link
      dataUrl: '', // 如果type是music或video,則要提供數(shù)據(jù)鏈接,默認(rèn)為空
      success: function () {
       window.alert('已分享給好友');
      },
      cancel: function () {
       // 用戶取消分享后執(zhí)行的回調(diào)函數(shù)
      },
      fail: function (res) {
       window.alert(JSON.stringify(res));
      }
     });
 
     // 分享到朋友圈
     wx.onMenuShareTimeline({
      title: '這是標(biāo)題', // 分享標(biāo)題
      desc: "這是測(cè)試的數(shù)據(jù)", // 分享描述
      link: window.location.href.split('#')[0]+'#'+window.location.href.split('#')[1], // 分享鏈接
      success: function () {
       window.alert('已分享到朋友圈');
      },
      cancel: function () {
      },
      fail: function (res) {
       window.alert(JSON.stringify(res));
      }
     });

補(bǔ)充知識(shí):解決video標(biāo)簽播放在微信瀏覽器中自動(dòng)全屏的坑(vue-video-player使用后續(xù))

屬性熟悉

下面是微信video中幾個(gè)Attribute的作用

poster=“l(fā)oadbg.jpg” : 視頻封面

x-webkit-airplay=“allow” : 允許iOS的airplay

x5-video-player-type=“h5” : 啟用x5內(nèi)核的播放器,是微信安卓版特性,另外在X5內(nèi)核里,video是單獨(dú)的一個(gè)view,會(huì)覆蓋在任何元素之上,據(jù)說(shuō)是為了統(tǒng)一用戶體驗(yàn),加上這個(gè)屬性之后,也可以讓其他元素浮在video上面了

x5-playsinline=“true”: 在x5內(nèi)核的播放器中小屏播放

x5-video-player-fullscreen=“true”: 全屏設(shè)置,設(shè)置為 true 是防止橫屏

x5-video-orientation=“portraint”: 播放方向,landscape橫屏,portraint豎屏,默認(rèn)值為豎屏

webkit-playsinline=“true”: 這個(gè)屬性是iOS中設(shè)置可以讓視頻在小窗內(nèi)播放,也就是不是全屏播放

playsinline=“true”: IOS微信瀏覽器支持小窗內(nèi)播放

思路與初嘗試

上面屬性熟悉后,有了些思路, 不就是把上面要的屬性都寫一遍嗎,這樣iOS端和android端微信都能起作用, 然鵝, 實(shí)際情況并非如此。 經(jīng)過(guò)我無(wú)數(shù)次嘗試, 總結(jié)出就是得分開寫!!

代碼修改

之前:playsinline="playsinline"這里是true寫死的,現(xiàn)在改為計(jì)算屬性playsinline(),代碼如下

<video-player class="video-player-box"
         ref="videoPlayer"
         :options="playerOptions"
         :playsinline="playsinline" 
         customEventName="customstatechangedeventname"
   
         @play="onPlayerPlay($event)"
         @pause="onPlayerPause($event)"
         @ended="onPlayerEnded($event)"
         @waiting="onPlayerWaiting($event)"
         @playing="onPlayerPlaying($event)"
         @loadeddata="onPlayerLoadeddata($event)"
         @timeupdate="onPlayerTimeupdate($event)"
         @canplay="onPlayerCanplay($event)"
         @canplaythrough="onPlayerCanplaythrough($event)"
         @statechanged="playerStateChanged($event)"
         @ready="playerReadied">
   </video-player>

添加playsinline()這個(gè)計(jì)算屬性,原因是在安卓和iOS端微信使用的內(nèi)核不同,所需要的attribute也不同,嘗試后,采用x5內(nèi)核返回false,反之為true

computed: {
  playsinline(){
   var ua = navigator.userAgent.toLocaleLowerCase();
    //x5內(nèi)核
  if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
   return false
  }else{
   //ios端
 return true  
  }
  }
 },

配合jq工具,繼續(xù)添加兩個(gè)端所需的屬性

//在vue-video-player的onPlayerCanplay(視頻可播放)這個(gè)方法中添加回調(diào)
onPlayerCanplay(player) {
    // console.log('player Canplay!', player)
    //解決自動(dòng)全屏
    var ua = navigator.userAgent.toLocaleLowerCase();
    //x5內(nèi)核
   if (ua.match(/tencenttraveler/) != null || ua.match(/qqbrowse/) != null) {
   
     $('body').find('video').attr('x-webkit-airplay',true).attr('x5-playsinline',true).attr('webkit-playsinline',true).attr('playsinline',true)
   }else{
   //ios端
     $('body').find('video').attr('webkit-playsinline',"true").attr('playsinline',"true") 
  
   }

   }

總結(jié)

以區(qū)分兩個(gè)端內(nèi)核的不同,按需添加所需的Attribute

":playsinline"組件中自定義屬性按內(nèi)核不同按需傳值, x5內(nèi)核為false,反之為true然后來(lái)渲染組件(具體原理有待挖掘)

以上這篇基于vue hash模式微信分享#號(hào)的解決就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Vue echart實(shí)現(xiàn)柱狀圖,電池圖,3D柱圖和3D圓柱圖代碼詳解

    Vue echart實(shí)現(xiàn)柱狀圖,電池圖,3D柱圖和3D圓柱圖代碼詳解

    這篇文章主要為大家介紹了Vue實(shí)現(xiàn)echart繪圖代碼詳解,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來(lái)幫助
    2022-01-01
  • vue3中watch監(jiān)聽的四種寫法

    vue3中watch監(jiān)聽的四種寫法

    本文主要介紹了vue3中watch監(jiān)聽的四種寫法,包含了ref 定義的數(shù)據(jù),reactive定義的數(shù)據(jù),函數(shù)返回的值(getter函數(shù))和前面3個(gè)內(nèi)容的數(shù)組,具有一定的參考價(jià)值,感興趣的可以了了解一下
    2024-02-02
  • Vue2.0實(shí)現(xiàn)組件之間數(shù)據(jù)交互和通信操作示例

    Vue2.0實(shí)現(xiàn)組件之間數(shù)據(jù)交互和通信操作示例

    這篇文章主要介紹了Vue2.0實(shí)現(xiàn)組件之間數(shù)據(jù)交互和通信操作,結(jié)合實(shí)例形式分析了vue2.0組件之間通信的原理、實(shí)現(xiàn)方法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-05-05
  • vue如何在vue.config.js文件中導(dǎo)入模塊

    vue如何在vue.config.js文件中導(dǎo)入模塊

    這篇文章主要介紹了vue如何在vue.config.js文件中導(dǎo)入模塊問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • Vue3全局屬性app.config.globalProperties的實(shí)現(xiàn)

    Vue3全局屬性app.config.globalProperties的實(shí)現(xiàn)

    Vue3中的app.config.globalProperties是一個(gè)強(qiáng)大的全局配置功能,允許我們?cè)趹?yīng)用級(jí)別設(shè)置和訪問(wèn)屬性,本文主要介紹了Vue3全局屬性app.config.globalProperties的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-01-01
  • vue在頁(yè)面和方法中如何通過(guò)遍歷對(duì)象獲取對(duì)象的鍵(key)和值(value)

    vue在頁(yè)面和方法中如何通過(guò)遍歷對(duì)象獲取對(duì)象的鍵(key)和值(value)

    這篇文章主要介紹了vue在頁(yè)面和方法中如何通過(guò)遍歷對(duì)象獲取對(duì)象的鍵(key)和值(value)問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-05-05
  • vue配置接口域名方法總結(jié)

    vue配置接口域名方法總結(jié)

    在本篇文章里小編給大家分享了關(guān)于vue配置接口域名方法和相關(guān)知識(shí)點(diǎn)總結(jié),需要的朋友們跟著操作下。
    2019-05-05
  • vue數(shù)據(jù)雙向綁定原理解析(get & set)

    vue數(shù)據(jù)雙向綁定原理解析(get & set)

    這篇文章主要為大家詳細(xì)解析了vue.js數(shù)據(jù)雙向綁定原理,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • vue3中批量全局注冊(cè)組件實(shí)例詳解

    vue3中批量全局注冊(cè)組件實(shí)例詳解

    在vue中,我們?cè)趍ain.ts引入的全局注冊(cè)的組件是可以不需要import導(dǎo)入而直接使用的,使用的時(shí)候是自己全局注冊(cè)組件時(shí)的名稱,而不是組件名,這篇文章主要介紹了vue3中批量全局注冊(cè)組件,需要的朋友可以參考下
    2023-05-05
  • JavaScript之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Vue示例

    JavaScript之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Vue示例

    這篇文章主要介紹了JavaScript之實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Vue示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2019-01-01

最新評(píng)論

全南县| 扶风县| 巢湖市| 利川市| 黔西| 腾冲县| 东兰县| 九台市| 农安县| 株洲县| 岗巴县| 库伦旗| 嘉鱼县| 巴塘县| 交口县| 云浮市| 成都市| 五寨县| 沙雅县| 襄垣县| 大名县| 抚宁县| 玛沁县| 本溪| 满洲里市| 潮安县| 湘阴县| 胶州市| 颍上县| 宝坻区| 开封县| 正蓝旗| 桓台县| 普格县| 平顺县| 金川县| 星子县| 乳源| 嘉义市| 应城市| 突泉县|