欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何解決vue單頁(yè)面在微信下只能分享落地頁(yè)的問(wèn)題

這篇文章主要介紹如何解決vue單頁(yè)面在微信下只能分享落地頁(yè)的問(wèn)題,文中介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們一定要看完!

站在用戶的角度思考問(wèn)題,與客戶深入溝通,找到旌陽(yáng)網(wǎng)站設(shè)計(jì)與旌陽(yáng)網(wǎng)站推廣的解決方案,憑借多年的經(jīng)驗(yàn),讓設(shè)計(jì)與互聯(lián)網(wǎng)技術(shù)結(jié)合,創(chuàng)造個(gè)性化、用戶體驗(yàn)好的作品,建站類型包括:做網(wǎng)站、網(wǎng)站設(shè)計(jì)、企業(yè)官網(wǎng)、英文網(wǎng)站、手機(jī)端網(wǎng)站、網(wǎng)站推廣、空間域名、虛擬空間、企業(yè)郵箱。業(yè)務(wù)覆蓋旌陽(yáng)地區(qū)。

實(shí)際上關(guān)鍵詞叫 微信pushState只能分享落地頁(yè) 更貼切一點(diǎn)

應(yīng)用場(chǎng)景:

  1. vue + vue-router

  2. vue-router使用hash模式(history模式?jīng)]試過(guò))

  3. 不使用微信的js-sdk(因?yàn)槲疫@個(gè)項(xiàng)目是可配置域名的商城,比較特殊,不能使用微信sdk)

這個(gè)方案并不是最優(yōu)秀的,會(huì)對(duì)性能造成一定的影響

HTML5 history.pushState

vue-router的內(nèi)部是通過(guò) history.pushState 和 history.replaceState 實(shí)現(xiàn)的。但是iOS設(shè)備的微信瀏覽器不會(huì)去檢測(cè)它們的變化。但是我們可以通過(guò)更新 location.href 讓微信瀏覽器識(shí)別到當(dāng)前的url。

// vue-router/src/util/push-state.js

export function pushState (url?: string, replace?: boolean) {
 saveScrollPosition()
 // try...catch the pushState call to get around Safari
 // DOM Exception 18 where it limits to 100 pushState calls
 const history = window.history
 try {
  if (replace) {
   history.replaceState({ key: _key }, '', url)
  } else {
   _key = genKey()
   history.pushState({ key: _key }, '', url)
  }
 } catch (e) {
  window.location[replace ? 'replace' : 'assign'](url)
 }
}

export function replaceState (url?: string) {
 pushState(url, true)
}

解決方法

window.location.href = window.location.href ,這段代碼可以讓微信記錄當(dāng)前的url,且不會(huì)刷新頁(yè)面??梢栽赼pp.vue中 watch $route 在每次頁(yè)面更新的時(shí)候執(zhí)行一次。

// app.vue

watch: {
 $route: {
  immediate: true,
  deep: true,
  handler(to) {
   // 微信瀏覽器判斷
   const WECHAT_BROWSER = navigator.userAgent.toLowerCase().includes('micromessenger')

   // 解決iOS微信瀏覽器分享地址只能是落地頁(yè)的問(wèn)題,這個(gè)操作是不會(huì)刷新頁(yè)面的,query參數(shù)改變也會(huì)執(zhí)行
   if (WECHAT_BROWSER) {
    // eslint-disable-next-line
    window.location.href = window.location.href
   }
  }
},

使用了上述方法可以解決這個(gè)問(wèn)題,但是這會(huì)引出一個(gè)很奇葩的問(wèn)題,在真機(jī)上進(jìn)入 http://192.168.1.5:8080 和 http://192.168.1.5:8080/#/ 這兩個(gè)頁(yè)面,其中有一個(gè)鏈接的bug依然存在。原因具體不清楚,經(jīng)過(guò)測(cè)試可以在入口文件(main.js)中在頁(yè)面還沒(méi)有展示內(nèi)容前刷新一次頁(yè)面,即可解決這個(gè)問(wèn)題。

// main.js

// 微信瀏覽器判斷
const WECHAT_BROWSER = navigator.userAgent.toLowerCase().includes('micromessenger')

// 在url插入的search參數(shù),可以隨意,但是必須要
// 例:http://192.168.1.5:8080/?_wx_=1#/
const wxQuery = '_wx_=1'
const isRepeatQuery = location.search.includes(wxQuery)
if (WECHAT_BROWSER && !isRepeatQuery) {
 const unit = (location.search && location.search !== '?') ? '&' : '?'
 location.search += unit + wxQuery  // 添加_wx_參數(shù),該操作會(huì)刷新頁(yè)面
}

上面的代碼之所以要在 hash 前面加一個(gè) ?_wx_=1 參數(shù),為了方便刷新頁(yè)面給一個(gè)標(biāo)志位判斷是否已刷新。參數(shù)的 key-value 隨意。

以上是“如何解決vue單頁(yè)面在微信下只能分享落地頁(yè)的問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!希望分享的內(nèi)容對(duì)大家有幫助,更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

網(wǎng)頁(yè)名稱:如何解決vue單頁(yè)面在微信下只能分享落地頁(yè)的問(wèn)題
文章轉(zhuǎn)載:http://aaarwkj.com/article12/iggpdc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供用戶體驗(yàn)、App設(shè)計(jì)微信公眾號(hào)、網(wǎng)站排名商城網(wǎng)站、網(wǎng)站策劃

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都seo排名網(wǎng)站優(yōu)化
中文字幕中出亚洲精品| 成人又黄又爽大片在线观看| 男人自拍天堂在线观看| 一区二区三区欧美日| 麻豆乱淫一区二区三爱免费| 亚洲欧洲日韩综合另类| 欧美老熟妇一区三区精品| 亚洲国产日朝欧美综合久久| 粉嫩av蜜臀一区二区三区| 亚洲精品免费福利视频| 亚洲美女插入av网络导航| 人妻少妇av免费久久蜜臀| 国产精品大全中文字幕| 在线观看国产一区二区不卡| 巨乳人妻一区二区三区| 成人性生活视频免费中文版| 麻豆国产免费av在线| 亚洲不卡在线视频免费| 中文字幕有码高清在线| 97久久精品人妻一区二区三区 | 久久99热这里只频精品| 青青草老司机在线视频| 国产情侣最新地址在线| 91熟女激情五月综合| 日本韩国欧美在线一区| 久久色综合色悠悠色综合色| 日韩av在线专区观看| 欧美一区二区久久综合| 开裆丝袜高跟啪啪高潮av| 好吊视频在线免费观看| 久久成人综合亚洲精品欧美| 亚洲国产熟女一区二区三| 日韩欧美 高清一区| 白浆视频在线免费观看| 日韩精品不卡在线观看| 日韩精品日本道欧美黄片| 亚洲在线免费播放视频| 国产产品在线免费看91| 国产91日韩欧美在线观看| 好狼色欧美激情国产区| 老熟妇奂伦一区二区三区|