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 相关文章推荐
自己实现string的substring方法 人民币小写转大写,数字反转,正则优化
Sep 02 Javascript
使用indexOf等在JavaScript的数组中进行元素查找和替换
Sep 18 Javascript
jQuery中extend函数详解
Jul 13 Javascript
AngularJS实现标签页的两种方式
Sep 05 Javascript
js实现开启密码大写提示
Dec 21 Javascript
Vue实现路由跳转和嵌套
Jun 20 Javascript
JS实现页面内跳转的简单代码
Sep 03 Javascript
JavaScript中Object值合并方法详解
Dec 22 Javascript
JavaScript实现短暂提示框功能
Apr 04 Javascript
vue2.0学习之axios的封装与vuex介绍
May 28 Javascript
小程序:授权、登录、session_key、unionId的详解
May 15 Javascript
深入学习JavaScript 高阶函数
Jun 11 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之第五天
2006/10/09 PHP
PHP 压缩文件夹的类代码
2009/11/05 PHP
php学习之流程控制实现代码
2011/06/09 PHP
php curl选项列表(超详细)
2013/07/01 PHP
PHP进阶学习之类的自动加载机制原理分析
2019/06/18 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
ajaxControlToolkit AutoCompleteExtender的用法
2008/10/30 Javascript
一个简单的js渐显(fadeIn)渐隐(fadeOut)类
2010/06/19 Javascript
基于jquery的loading效果实现代码
2010/11/05 Javascript
JQuery动态创建DOM、表单元素的实现代码
2011/08/09 Javascript
jquery 删除cookie失效的解决方法
2013/11/12 Javascript
js控制鼠标事件移动及移出效果显示
2014/10/19 Javascript
Javascript原型链和原型的一个误区
2014/10/22 Javascript
解决Jquery向页面append新元素之后事件的绑定问题
2015/03/16 Javascript
JavaScript实现带标题的图片轮播特效
2015/05/20 Javascript
js实现div拖动动画运行轨迹效果代码分享
2015/08/27 Javascript
如何学JavaScript?前辈的经验之谈
2016/12/28 Javascript
AngularJS使用带属性值的ng-app指令实现自定义模块自动加载的方法
2017/01/04 Javascript
完美实现js拖拽效果 return false用法详解
2017/07/28 Javascript
JavaScript面向对象精要(下部)
2017/09/12 Javascript
深入理解Node.js中通用基础设计模式
2017/09/19 Javascript
[01:25:09]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS DT第二场
2014/05/24 DOTA
python3 爬取图片的实例代码
2018/11/06 Python
浅谈Python中文件夹和python package包的区别
2020/06/01 Python
利用python 读写csv文件
2020/09/10 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
京东国际站:JOYBUY
2017/11/23 全球购物
斐乐美国官方网站:FILA美国
2019/03/01 全球购物
New Balance德国官方网站:购买鞋子和服装
2019/08/31 全球购物
机电专业毕业生推荐信
2013/11/10 职场文书
管理站站长岗位职责
2013/11/27 职场文书
监督检查工作方案
2014/05/28 职场文书
员工生日会策划方案
2014/06/14 职场文书
我的中国梦演讲稿500字
2014/08/19 职场文书
文明上网主题班会
2015/08/14 职场文书
JavaScript中时间格式化新思路toLocaleString()
2021/11/07 Javascript