如何解決vue在ios微信"復制鏈接"功能問題
這個問題在安卓上是完全沒有問題的,可是到了iPhone上就徹底失效了。因為ios微信對vue路由中的#號識別問題。
我的解決辦法是在初始進入項目時重新拼接項目地址,再重定向到拼接的地址去。
先獲取到#號前的路由地址,再手動添加我們的#號和當前項目地址后綴:
在路由router.js里的beforeEach函數(shù)寫
截取地址
// 重定向功能,為解決ios微信上復制鏈接功能不能復制到動態(tài)路由問題 // 獲取地址前段部分,不算參數(shù) var replaceUrl = window.location.href.split('#')[0] + '#' + to.path; var index = 0; // 索引初始化 // 給replaceUrl拼接參數(shù) for (var i in to.query) { // 判斷是否等于第一個參數(shù) if (index == 0) { // 拼接地址第一個參數(shù),添加“?”號 replaceUrl += '?' + i + '=' + to.query[i] } else { // 拼接地址非第一個參數(shù),添加“&”號 replaceUrl += '&' + i + '=' + to.query[i] } index++; // 索引++ }
重定向跳轉(zhuǎn)
window.location.replace(replaceUrl); // 重定向跳轉(zhuǎn)
全部代碼
router.beforeEach((to, from, next) => { next(); // 重定向功能,為解決ios微信上復制鏈接功能不能復制到動態(tài)路由問題 // 獲取地址前段部分,不算參數(shù) var replaceUrl = window.location.href.split('#')[0] + '#' + to.path; var index = 0; // 索引初始化 // 給replaceUrl拼接參數(shù) for (var i in to.query) { // 判斷是否等于第一個參數(shù) if (index == 0) { // 拼接地址第一個參數(shù),添加“?”號 replaceUrl += '?' + i + '=' + to.query[i] } else { // 拼接地址非第一個參數(shù),添加“&”號 replaceUrl += '&' + i + '=' + to.query[i] } index++; // 索引++ } // console.log('test20190117:' + to.meta.title, replaceUrl); window.location.replace(replaceUrl); // 重定向跳轉(zhuǎn) // 重定向功能------end });
原文鏈接:https://blog.csdn.net/qq_37235823/article/details/86476723
到此這篇關(guān)于如何解決vue在ios微信"復制鏈接"功能問題的文章就介紹到這了,更多相關(guān)vue 微信 ios復制鏈接內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
在vue中使用screenfull?依賴,實現(xiàn)全屏組件方式
這篇文章主要介紹了在vue中使用screenfull?依賴,實現(xiàn)全屏組件方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-12-12Vue.js組件tree實現(xiàn)省市多級聯(lián)動
這篇文章主要為大家詳細介紹了Vue.js組件tree實現(xiàn)省市多級聯(lián)動的相關(guān)資料,具有一定的參考價值,感興趣的小伙伴們可以參考一下2016-12-12