nuxt 服务器渲染动态设置 title和seo关键字的操作


Posted in Javascript onNovember 05, 2020

使用如下钩子即可,但是前提条件是 没有默认配置head的title

asyncData ({ app }, callback) {
app.head.title = ‘new title'
callback(null, {})
},

补充知识:vue 每个页面动态切换title keywords description (seo的设置)

最近接触到需要使用到Seo,要求每个页面拥有不同的title,keywords,description

!!!在这里先添加一步:

html文件添加

<meta data-n-head="1" data-hid="description" name="description" content="">

<meta data-n-head="1" data-hid="keywords" name="keywords" content="">

第一步 在router里面index.js文件夹中

routes: [
  {
   path: '/',
   name: 'main',
   component: Main,
   meta: {
    title: '首页title内容',
    content:{
     keywords:'这里是第一个keywords',
     description:'这里是第一个description',
    },
   
   }
  },
  {
   path: '/trueBag',
   name: 'trueBag',
   component: trueBag,
   meta: {
   title: 'trueBag页面的title内容',
    content:{
    keywords:'这里是第二个keywords',
     description:'这里是第二个description',
    },
   }
  },
  ]

第二步 在main.js里面设置,路由发生变化修改页面meta

前提是已经导入了router

// 现在可以直接复制,不需要改什么东西
// 当然如果你想添加的meta,不仅仅只有keywords 和 description的时候,
// 自己可以举一反三 :
// setAttribute 后面就是设置它的值前提是要和router里面的content是相对应的
//要不然是获取不到的
//document.querySelector(‘meta[name=“description”]').setAttribute(‘content', to.meta.content.description)

router.beforeEach((to, from, next) => {
 /* 路由发生变化修改页面meta */
 console.log(to.meta.content)
 if(to.meta.content){
  let head = document.getElementsByTagName('head');
  let meta = document.createElement('meta');
  document.querySelector('meta[name="keywords"]').setAttribute('content', to.meta.content.keywords)
  document.querySelector('meta[name="description"]').setAttribute('content', to.meta.content.description)
  meta.content = to.meta.content;
  head[0].appendChild(meta)
 }
 // /* 路由发生变化修改页面title */
 if (to.meta.title) {
  document.title = to.meta.title;
 }
 next()
});

nuxt 服务器渲染动态设置 title和seo关键字的操作

具体是否成功可以f12查看,如果没有出来,一步一步打印一下,看自己是哪里出错。

以上这篇nuxt 服务器渲染动态设置 title和seo关键字的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
jQuery 打造动态渐变按钮 详细图文教程
Apr 25 Javascript
js的2种继承方式详解
Mar 04 Javascript
浅析node连接数据库(express+mysql)
Nov 30 Javascript
jQuery mobile 移动web(4)
Dec 20 Javascript
javascript实现瀑布流加载图片原理
Feb 02 Javascript
基于Vuejs框架实现翻页组件
Jun 29 Javascript
jquery表单验证插件validation使用方法详解
Jan 20 Javascript
Angular2关于@angular/cli默认端口号配置的问题
Jul 15 Javascript
js 客户端打印html 并且去掉页眉、页脚的实例
Nov 03 Javascript
layer弹出层倒计时关闭的实现方法
Sep 27 Javascript
原生js实现html手机端城市列表索引选择城市
Jun 24 Javascript
vue 点击其他区域关闭自定义div操作
Jul 17 Javascript
nuxt 每个页面head标签内容设置方式
Nov 05 #Javascript
JavaScript TAB栏切换效果的示例
Nov 05 #Javascript
nuxt 页面路由配置,主页轮播组件开发操作
Nov 05 #Javascript
JS时间戳与日期格式互相转换的简单方法示例
Jan 30 #Javascript
JS如何调用WebAssembly编译出来的.wasm文件
Nov 05 #Javascript
nuxt.js写项目时增加错误提示页面操作
Nov 05 #Javascript
Vue实现Header渐隐渐现效果的实例代码
Nov 05 #Javascript
You might like
Erlang的运算符(比较运算符,数值运算符,移位运算符,逻辑运算符)
2012/07/23 PHP
10 个经典PHP函数
2013/10/17 PHP
PHP获取windows登录用户名的方法
2014/06/24 PHP
php利用scws实现mysql全文搜索功能的方法
2014/12/25 PHP
php操作mongodb封装类与用法实例
2018/09/01 PHP
实例:尽可能写友好的Javascript代码
2006/10/09 Javascript
JavaScript表单常用验证集合
2008/01/16 Javascript
Prototype源码浅析 String部分(二)
2012/01/16 Javascript
jquery ajax请求方式与提示用户正在处理请稍等
2014/09/01 Javascript
JavaScript字符串对象replace方法实例(用于字符串替换或正则替换)
2014/10/16 Javascript
js判断鼠标左、中、右键哪个被点击的方法
2015/01/27 Javascript
js停止冒泡和阻止浏览器默认行为的简单方法
2016/05/15 Javascript
jQuery中的通配符选择器使用总结
2016/05/30 Javascript
JS常用正则表达式总结【经典】
2017/05/12 Javascript
详解vue mint-ui源码解析之loadmore组件
2017/10/11 Javascript
解决vue-router进行build无法正常显示路由页面的问题
2018/03/06 Javascript
通过vue提供的keep-alive减少对服务器的请求次数
2018/04/01 Javascript
vue+jquery+lodash实现滑动时顶部悬浮固定效果
2018/04/28 jQuery
微信小程序实时聊天WebSocket
2018/07/05 Javascript
详解vue填坑之解决部分浏览器不支持pushState方法
2018/07/12 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
vue.js+element 默认提示中英文操作
2020/11/11 Javascript
使用vue编写h5公众号跳转小程序的实现代码
2020/11/27 Vue.js
[58:15]2018DOTA2亚洲邀请赛 4.1 小组赛 A组 NB vs Liquid
2018/04/02 DOTA
Python中请使用isinstance()判断变量类型
2014/08/25 Python
Django的URLconf中使用缺省视图参数的方法
2015/07/18 Python
python利用matplotlib库绘制饼图的方法示例
2016/12/18 Python
Python文件打开方式实例详解【a、a+、r+、w+区别】
2019/03/30 Python
python实现银行管理系统
2019/10/25 Python
毕业生求职简历的自我评价
2013/10/07 职场文书
中专生职业生涯规划书范文
2014/01/10 职场文书
大学生个人求职口试自我评价
2014/02/16 职场文书
罚款通知怎么写
2015/04/22 职场文书
MySQL库表名大小写的选择
2021/06/05 MySQL
MySQL 中如何归档数据的实现方法
2022/03/16 SQL Server
Dubbo+zookeeper搭配分布式服务的过程详解
2022/04/03 Java/Android