前端问题汇总

本文主要整理前端兼容性和处理问题的一些解决方案,持续更新;(很早之前开发移动端页面碰到很多的兼容问题,也不知道从哪儿开始整理了)。 一、知识点备忘 3、程序中的空格(2022-01-10) 程序中的空格有三种 半角空格:Unicode 编码为 32,十六进制写法为 \u0020; 全角空格:Unicode 编码为 12288,十六进制写法为 \u3000; 不间断空格:Unicode 编码为 16…

Read More

解决 vue-pdf 打包后跨域报错

vue 搭建的项目中,很多部署方式是将HTMl页面放到一个服务器上,js、css这些静态资源放到另一个服务器上,这种部署方式可能会带来一些问题,标题中描述的 vue-pdf 报错就属于这种情况; 背景 vue-pdf 是一个 pdf 展示库,默认白色背景,比浏览器下默认黑底的效果要好;而且提供了一些 API,能很方便的操作PDF文档;基本原理是将 PDF 绘制到 Canvas 中; 报错 打包后,…

Read More

协议配置平台 – Markdown 转 html

Markdown 转 HTML 是用在协议配置平台中“使用帮助”、“更新日志”这种静态页面,发布的时候转成 html 页面;关于协议配置平台,参照这里,第一个就是。 方案:利用 gulp-markdown 模块,监听 markdown 文档的变化,自动转为 html。 转换的时候,可以利用 wrapper,对生成的 html 进行包装或引入 js 或 css,进一步对转换后的文档进行格式化。 gu…

Read More

协议配置平台 – Mysql数据库备份

数据库备份是用在协议配置平台中的,环境是 Windows Server 2008,该方案用在一个简单的服务中是可行的,大型的应用备份肯定不是这个方案了。关于协议配置平台,参照这里,第一个就是。 概述 备份用到的是 mysqldump – mysql 自带的备份程序;通过 Installer 安装完 mysql,默认就有这个程序,但是需要把它配到系统变量里边才方便用; 目录为 mysql …

Read More

前端成果回顾

总结一下,这几年在工作中一些前端相关的产出,列举的都是些独立于项目外的平台和工具; 1、协议配置平台 背景 前端开发中,很多协议、免责声明、活动规则这种纯文本页面,开发比较浪费时间;特别是有的协议十几页,前端光复制文本,添加html标签和样式就要花费好多时间;后期维护的时候,如果协议整体变动较大,基本又要重新做一遍; 这种纯文本的文档,完全可以自动化,就试着搭建了这么一个平台; 描述 一个上传wo…

Read More

协议管理平台 – 删除资源

这里是删除临时文件,该功能是协议配置平台中的一个脚本,关于协议配置平台,参照这里,第一个就是。 项目部署后,用户使用过程中,会产生很多没用的文件,主要来源包括: 添加或编辑时,预览过程中产生的临时文档; 上线(同步到云存储)之后的文档; 需要将这些文件删除,我采用的方式是定时批量删除的方案,为了防止删除正在预览或未同步的文档,删除时,设置了一个规则:只删除最后修改时间在一小时以上的文件。 为了优化…

Read More

协议管理平台 – 解析日志

这里的解析日志指的是对日志文件进行解析,提取有用的数据;协议配置平台里边,一开始的需求并不是很明确,但我加了非常详细的日志,后续扩充功能,数据可以从日志中补全。关于协议配置平台,参照这里,第一个就是。 项目中,解析日志,是为了从日志中获取用户的访问信息,导入数据库,方便查看 / 统计访问人数,为后续优化做准备; 之前设计时,并未考虑访问相关的数据,所以这部分是没有存到数据库的,只能通过日志导入(前…

Read More

协议管理平台 – 静态JSONP

协议配置平台中用了静态JSONP的方式解决问题;关于协议配置平台,参照这里,第一个就是。 JSONP原理 在页面上动态创建一个 script 标签,src 指向接口地址,将接口返回内容作为一段 js 执行; 接口返回内容格式为:callbackName(data),即 回调函数名称(需要传递的数据) 这种形式,其中,回调函数名称是页面调用接口时通过参数传过来的,参数名一般为 callback 或 …

Read More

Vue 项目中的字体文件跨域问题

vue项目中,将页面和静态资源分开部署带来的问题,除了上一篇提到的特殊库(vue-pdf)中的跨域,还有本篇将要说的字体文件跨域; 背景 vue 项目中,通过 npm 安装的库,有一些(比如组件库 iview)中,会包含一些字体(iconfont)文件,当 html 页面和静态资源分开部署时,字体文件就会报跨域的错,不能加载到,导致页面上的图标显示不出来;这是因为默认情况下,字体文件不能跨域加载;…

Read More