时间:2021-05-26
由于用Vue框架开发的应用是SPA(单页面应用),采用的是路由的形式,没有所谓的页面,所以想让网页的标题随着路由的改变而改变,可以使用document.title = ×××来改变网页标题。
但是在IOS APP里这种方式不起作用,原因是在IOS webview中网页标题只加载一次,动态改变是无效的。
解决方案是在路由切换完成之后,静默加载一个空的iframe动态设置title
util.js中定义setMetaTitle()函数
function setMetaTitle(title) { document.title = title let mobile = navigator.userAgent.toLowerCase() if (/iphone|ipad|ipod/.test(mobile)) { let iframe = document.createElement('iframe') iframe.style.display = 'none' // 替换成站标favicon路径或者任意存在的较小的图片即可 iframe.setAttribute('src', 'static/img/blank.png') let iframeCallback = function () { setTimeout(function () { iframe.removeEventListener('load', iframeCallback) document.body.removeChild(iframe) }, 0) } iframe.addEventListener('load', iframeCallback) document.body.appendChild(iframe) }} export { setMetaTitle}应用入口main.js中调用setMetaTitle()函数
vue文件调用
<h2 v-title="'页面标题'">通过指令设置页面标题</h2>以上这篇vue-router动态设置页面title的实例讲解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
注意:vue-router是无法完全控制前端路由权限。1、实现思路使用vue-router实例函数addRoutes动态添加路由规则,不多废话直接上思维导图:2
1.在main.js中导入vue-router和组件importVueRouterfrom'vue-router';//导入vue-router并将它命名为Vu
一、安装1、安装路由vue-router:npminstallvue-routervue项目的依赖文件node_modules存在vue-router依赖,说明
vue-router是Vue.js官方提供的一套专用的路由工具库安装命令如下npmivue-router-Dvue-router实例是一个Vue插件,我们需要在
今天在实现一个小功能的时候,遇到一个问题,使用vue-router获取上一页面的url信息,我尝试了多种方式,发现使用vue-router的canDeactiv