1. 程式人生 > 程式設計 >如何解決vue在ios微信"複製連結"功能問題

如何解決vue在ios微信"複製連結"功能問題

這個問題在安卓上是完全沒有問題的,可是到了iPhone上就徹底失效了。因為ios微信對vue路由中的#號識別問題。

我的解決辦法是在初始進入專案時重新拼接專案地址,再重定向到拼接的地址去。

先獲取到#號前的路由地址,再手動新增我們的#號和當前專案地址字尾:

在路由router.js裡的beforeEach函式寫

擷取地址

// 重定向功能,為解決ios微信上覆制連結功能不能複製到動態路由問題
// 獲取地址前段部分,不算引數
 var replaceUrl = window.location.href.split('#')[0] + '#' + to.path;
 var index = 0; // 索引初始化
 // 給replaceUrl拼接引數
 for (var i in to.query) {
  // 判斷是否等於第一個引數
  if (index == 0) {
   // 拼接地址第一個引數,新增“?”號
   replaceUrl += '?' + i + '=' + to.query[i]
  } else {
   // 拼接地址非第一個引數,新增“&”號
   replaceUrl += '&' + i + '=' + to.query[i]
  }
  index++; // 索引++
 }

重定向跳轉

window.location.replace(replaceUrl); // 重定向跳轉 

全部程式碼

router.beforeEach((to,from,next) => {  
next();
// 重定向功能,為解決ios微信上覆制連結功能不能複製到動態路由問題
// 獲取地址前段部分,不算引數
var replaceUrl = window.location.href.split('#')[0] + '#' + to.path;
var index = 0; // 索引初始化
// 給replaceUrl拼接引數
for (var i in to.query) {
 // 判斷是否等於第一個引數
 if (index == 0) {
  // 拼接地址第一個引數,新增“?”號
  replaceUrl += '?' + i + '=' + to.query[i]
 } else {
  // 拼接地址非第一個引數,新增“&”號
  replaceUrl += '&' + i + '=' + to.query[i]
 }
 index++; // 索引++
}
// console.log('test20190117:' + to.meta.title,replaceUrl);
window.location.replace(replaceUrl); // 重定向跳轉
// 重定向功能------end
});

原文連結:https://blog.csdn.net/qq_37235823/article/details/86476723

到此這篇關於如何解決vue在ios微信"複製連結"功能問題的文章就介紹到這了,更多相關vue 微信 ios複製連結內容請搜尋我們以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援我們!