如何解決vue在ios微信"復制鏈接"功能問題
這個問題在安卓上是完全沒有問題的,可是到了iPhone上就徹底失效了。因為ios微信對vue路由中的#號識別問題。
我的解決辦法是在初始進入項目時重新拼接項目地址,再重定向到拼接的地址去。
先獲取到#號前的路由地址,再手動添加我們的#號和當前項目地址后綴:
在路由router.js里的beforeEach函數寫
截取地址
// 重定向功能,為解決ios微信上復制鏈接功能不能復制到動態(tài)路由問題
// 獲取地址前段部分,不算參數
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微信上復制鏈接功能不能復制到動態(tài)路由問題
// 獲取地址前段部分,不算參數
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復制鏈接內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Ant?Design-vue?解決input前后空格問題(推薦)
最近做項目遇到這樣一個問題輸入框不允許有前后空格但字符中間可以有空格,怎么解決這個問題呢,接下來小編把ant?Design-vue?解決input前后空格問題的實現(xiàn)代碼分享給大家,感興趣的朋友一起看看吧2022-10-10
Vue封裝一個TodoList的案例與瀏覽器本地緩存的應用實現(xiàn)
這篇文章主要介紹了Vue封裝一個TodoList的案例與瀏覽器本地緩存的應用實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2021-04-04

