Vue 实现 Open Graph 分享预览

什么是 Open Graph Protocol?,可以去看这篇文章

Open Graph Protocol

像vue的插件,例如vue-head,vue-meta这些可以动态的添加meta标签到head头中,但是我在尝试之后,并没有什么作用,原因是我们在拷贝链接到国外的一些社交软件时,例如Facebook,Twitter等,这时候是没法执行js的。

解决方案:我们的想法是通过服务端渲染,但是我们想的呢是通过配置nginx来访问php文件,通过php来获取动态的信息,例如标题,图片等信息,然后读取我们打包的单页面的html文件,通过拼接字符串,来生成OG标签,然后再输出html文件的内容出去。

网站根目录结构如下:
在这里插入图片描述

演示代码如下:

//nginx的主要配置
location / {root /home/www/suyuanAPI/public/suyaunWeb;index index.php  index.html index.htm;try_files $uri $uri/ /index.php?$args;}location ~ \.php$ {root           html;fastcgi_pass   127.0.0.1:9000;fastcgi_read_timeout 500;fastcgi_index  index.php;fastcgi_param  SCRIPT_FILENAME /home/www/suyuanAPI/public/suyaunWeb$fastcgi_script_name;include        fastcgi_params;}
<?php $file_path = "./index.html";$head = '<head>';if(file_exists($file_path)){$fp = fopen($file_path,"r");$str = fread($fp,filesize($file_path));//指定读取大小,这里把整个文件内容读取出来if($_SERVER['QUERY_STRING'] == 'name=home'){$new_head = $head . '<meta property=og:title content="这是首页">';$str = str_replace($head, $new_head, $str);} else {$new_head = $head . '<meta property=og:title content="这是个人">';$str = str_replace($head, $new_head, $str);}echo $str;fclose($fp);}
?>

代码解析,代码写的比较简陋,主要就是读取文件,然后获取到链接上的参数,替换字符,再拼接字符和对应的OG标签,根据参数的不同生成不同的OG标签,最后输出html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/517187.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Springboot2 Swagger3 集成

文章目录一、默认UI1. 版本尝鲜2. 导入依赖3. Swagger3Config配置类4. Swagger3.0常用注解4.Controller 层使用Swagger3注解例子5.访问Swagger3接口文档界面6.Swagger3接口文档界面展示二、bootstrapUI2.1. 导入依赖2.2. 访问地址一、默认UI 1. 版本尝鲜 Swagger3在Swagger2的…

10个月,15亿,阿里云如何赋能企业打造交付和创新竞争力?

阿里妹导读&#xff1a;中国有3000万卡车司机&#xff0c;他们每天开车12-16个小时&#xff0c;发生事故导致身亡的概率是普通人群的5倍。路歌旗下的“卡友地带”是中国最大的卡车司机交友互助平台&#xff0c;有超过150万的卡车司机在上面活跃。 “卡友地带”却在运行两年后&a…

涌之势,智造未来, 戴尔科技集团携新一代信息技术解决方案赋能“新基建”

2020年7月10日&#xff0c;戴尔科技集团邀请中国科学院专家、行业领袖、客户与合作伙伴、媒体和分析师朋友共同探讨“新基建”为行业所带来的机遇与智造未来的发展前景。 戴尔科技集团推出多款面向新一代信息技术的Power 家族创新产品组合与解决方案&#xff0c;多维度展示了戴…

重磅!阿里云发布最新服务等级协议SLA ,多实例可用性升为99.995%

12月13日&#xff0c;全球前三的云计算公司阿里云公布了最新的弹性计算服务等级协议SLA&#xff0c;单实例的可用性从99.95%提升至99.975%&#xff0c;多可用区多实例可用性从99.99%提升至99.995%&#xff0c;均为全球最高水准。 SLA即服务等级协议&#xff0c;代表了云服务商…

诚选app优化方案

解决大文件问题&#xff0c;目前发现整个项目打包的出来的文件过大 1.如图一、图二可以看到在Stat Parsed Gzip下文件的大小相差很大&#xff0c;目前从图三中可以看到两个属性productionSourceMap、ProductionGzip&#xff0c;productionSourceMap为true的时候会生成一些map文…

基于深度学习的图像分割在高德的实践

一、前言 图像分割&#xff08;Image Segmentation&#xff09;是计算机视觉领域中的一项重要基础技术&#xff0c;是图像理解中的重要一环。图像分割是将数字图像细分为多个图像子区域的过程&#xff0c;通过简化或改变图像的表示形式&#xff0c;让图像能够更加容易被理解。…

腾讯汤道生:AI是产业互联网的“中央处理器”,数字技术融合打造产业新动能

7月10日&#xff0c;2020世界人工智能大会腾讯论坛正式拉开帷幕。腾讯高级执行副总裁、云与智慧产业事业群总裁汤道生进行了开场致辞。汤道生表示&#xff0c;人工智能是新基建的核心技术之一&#xff0c;也是产业互联网的“中央处理器”。在AI的产业和技术发展趋势方面&#x…

小程序开发(1)-之目录结构和文件说明

#以下图片是小程序的目录结构&#xff0c;建议所有的目录都使用小写字母&#xff0c;不使用驼峰格式 #组件 components是自定义组件目录&#xff0c;对一些常用的组件的封装 #配置文件 config是配置文件&#xff0c;存有一些常用的字段和请求地址 #第三方库 libs是一些外部…

阿里云杨敬宇:四层技术构建基于城市场景的边缘计算

12月11日&#xff0c;阿里云边缘计算技术负责人杨敬宇在2019亚太内容分发大会上表示&#xff1a;在未来&#xff0c;边缘计算主要是以地市、区县为单位开展&#xff0c;面向城市服务的交通、医疗、健康、教育、新零售等场景提供算力基础。阿里云认为边缘计算就是城市计算&#…

2020年的双11,阿里需要什么样的渲染方案?

阿里妹导读&#xff1a;前端技术的"新陈代谢"是有目共睹的&#xff0c;新技术的不断发展也推动着前端应用场景的不断扩大&#xff0c;从 Web 、Weex 到 Node.js 再到 FaaS。我们在发展中看不变的部分&#xff0c;唯有追求更好的用户体验是端技术持续发展中不变的责任…

腾讯优图发布四大平台产品,持续开放视觉AI能力

7月10日&#xff0c;2020世界人工智能大会在上海举行&#xff0c;腾讯优图实验室总经理吴运声发表了“新基建新生态下的计算机视觉”的主题演讲&#xff0c;分享了优图视觉AI技术在工业、教育、泛娱乐等领域的最新落地实践&#xff0c;并发布四大平台产品&#xff0c;进一步开放…

小程序开发(2)-之app.js、app.wxss、project.config.json说明

#app.js 小程序的入口文件&#xff0c;也可以说是一个全局的变量&#xff0c;因为我们经常会在一些页面里这样使用它const app getApp(); 我们可以在这里做一些初始化的操作&#xff0c;每次启动小程序的时候&#xff0c;都会先执行一边这里&#xff0c;可以对一些常用的全局…

微服务治理实践:如何对单点异常进行自动摘除

微服务架构下&#xff0c;稳定性和高可用性一个永恒的话题&#xff0c;在实际的治理过程中&#xff0c;我们有可能会遇到以下场景&#xff1a; 某个应用灰度发布&#xff0c;先上了几台机器&#xff0c;由于代码逻辑写的有问题&#xff0c;造成线程池满&#xff0c;出现运行异…

数字时代企业信息安全如何保障? VMware原生安全前来“保驾护航”

2020年春天&#xff0c;以5G、人工智能、云计算为代表的“新基建”蔚然成风&#xff0c;着眼国家数字经济体系建设&#xff0c;打造数字经济体系底座的“新基建”&#xff0c;无疑成为中国经济整体应对未来发展的核心方案。可以说&#xff0c;没有任何一个时期比现在更能够彰显…

Elasticsearch7.15.2 安装、部署(linux环境)

文章目录一、软件下载配置1. 下载2. 解压3. 录结构理解二、采用自带的jdk2.1. 启动脚本2.2. 添加jdk判断三、配置与启动3.1. 核心配置简述3.2. 核心配置3.3. 创建数据存储目录3.4. 创建es用户3.5. 修改目录权限3.6. JVM配置3.7. 增加资源分配3.8. 内核参数3.9. 刷新 配置3.10. …

仅1年GitHub Star数翻倍,Flink 做了什么?

阿里妹导读&#xff1a;Apache Flink 是公认的新一代开源大数据计算引擎&#xff0c;其流水线运行系统既可以执行批处理程序也可以执行流处理程序。目前&#xff0c;Flink 已成为 Apache 基金会和 GitHub 社区最为活跃的项目之一。在 Flink Forward Asia 2019 上&#xff0c;阿…

小程序开发(3)-之wx.request封装

#主要的封装是wxRequest、wxRequestGet、wxRequestPost、wxRequestPromise、headers这几个函数&#xff0c;由于太过赘余不进行截图展示&#xff0c;可以看utils.js #wxRequest方法 wxRequest其实跟原始的wx.request没有太大的不同&#xff0c;相当于一个中间键&#xff0c;可…

elasticsearch-head 谷歌插件以及安装和使用说明

文章目录一、谷歌插件方式1. 下载2. 扩展程序3. 打开开发者模式4. 拖动插件5. 添加扩展程序6. 点击es插件7. 连接8.效果对比二、源码运行方式(推荐使用)2.1. 克隆源码2.2. 配置2.3. 下载依赖2.4. 启动2.5. 验证一、谷歌插件方式 1. 下载 https://github.com/mobz/elasticsear…

闲鱼如何高效承接并处理用户纠纷

背景 闲鱼是一个基于C2C场景的闲置交易平台&#xff0c;每个用户既是买家也是卖家&#xff0c;在自由享受交易乐趣的同时也容易带来一些问题&#xff0c;如发一些侵权违规商品而不自知&#xff0c;发一些带情绪化言语对他人照成了伤害等,因此这也带来了一个核心问题&#xff1…

国内厂商 Onyx 违反 GPL 协议,中国开源何去何从?

作者 | 马超责编 | 王晓曼封图 | CSDN 付费下载自东方 IC出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09;近日&#xff0c;中国电子书厂商Oynx拒绝开源其基于Linux 内核修改的设备源码&#xff0c;这一做法违反了Linux的GPL协议&#xff0c;在Reddit社区引发了开源…