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操作Cookie取值错误的解决方法
Aug 26 Javascript
jquery插件splitScren实现页面分屏切换模板特效
Jun 16 Javascript
实例解析jQuery插件EasyUI最常用的表单验证规则
Nov 29 Javascript
javascript事件绑定学习要点
Mar 09 Javascript
JS基于构造函数实现的菜单滑动显隐效果【测试可用】
Jun 21 Javascript
快速解决js开发下拉框中blur与click冲突
Oct 10 Javascript
如何给ss bash 写一个 WEB 端查看流量的页面
Mar 23 Javascript
详解VUE 数组更新
Dec 16 Javascript
Node.js模块全局安装路径配置方法
May 17 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
Sep 17 Javascript
微信小程序实现签字功能
Dec 23 Javascript
Javascript异步流程控制之串行执行详解
Sep 27 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
浅谈PHP中output_buffering
2015/07/13 PHP
详解PHP数组赋值方法
2015/11/07 PHP
WordPress分页伪静态加html后缀
2016/06/08 PHP
xml 与javascript结合的问题解决方法
2007/03/24 Javascript
ASP.NET jQuery 实例9  通过控件hyperlink实现返回顶部效果
2012/02/03 Javascript
jquery 循环显示div的示例代码
2013/10/18 Javascript
js加入收藏以及使用Jquery更改透明度
2014/01/26 Javascript
javascript实现修改微信分享的标题内容等
2014/12/11 Javascript
常用的JS验证和函数汇总
2014/12/23 Javascript
详解JS几种变量交换方式以及性能分析对比
2016/11/25 Javascript
vue.js-div滚动条隐藏但有滚动效果的实现方法
2018/03/03 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
Javascript confirm多种使用方法解析
2020/09/25 Javascript
[02:35]DOTA2英雄基础教程 狙击手
2014/01/14 DOTA
[53:49]LGD vs Fnatic 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
[59:35]DOTA2-DPC中国联赛定级赛 Aster vs DLG BO3第一场 1月8日
2021/03/11 DOTA
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Python编程之变量赋值操作实例分析
2017/07/24 Python
python的socket编程入门
2018/01/29 Python
Python OpenCV处理图像之滤镜和图像运算
2018/07/10 Python
对python过滤器和lambda函数的用法详解
2019/01/21 Python
python实现扫描局域网指定网段ip的方法
2019/04/16 Python
Python语法分析之字符串格式化
2019/06/13 Python
Python程序暂停的正常处理方法
2019/11/07 Python
Python中用pyinstaller打包时的图标问题及解决方法
2020/02/17 Python
解决Python数据可视化中文部分显示方块问题
2020/05/16 Python
北承题目(C++)
2012/05/16 面试题
法语专业求职信
2014/07/20 职场文书
2014年酒店工作总结范文
2014/11/17 职场文书
2014年党小组工作总结
2014/12/20 职场文书
2015年世界无烟日活动方案
2015/05/04 职场文书
肖申克救赎观后感
2015/06/02 职场文书
2015年度工程师评职称工作总结
2015/10/14 职场文书
导游词之天津盘山
2019/11/01 职场文书
django注册用邮箱发送验证码的实现
2021/04/18 Python
手残删除python之后的补救方法
2021/06/26 Python