自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(27)
  • 收藏
  • 关注

原创 如何把网站放入SEMrush中进行SEO优化

Crawl Depth:选择爬取深度,通常选择默认的 “Minimum delay between pages” 即可,具体根据你的站点大小调整。在 SEMrush 的主界面中,找到导航栏中的 “Audit”,点击进入网站审核工具。Crawl Sources:设置需要爬取的页面类型,例如:网页、子域名等。SEMrush 会开始扫描你的网页,并分析网站的 SEO 健康状况。输入你的 项目名称 和 网站 URL(需要检查的网站链接)。你可以设置定期的自动审计任务,保持网站的 SEO 健康状况。

2024-11-28 11:52:56 518

原创 解决前端浏览器兼容性问题

同时,进行基于不同浏览器的真实设备和版本的测试,以验证网页在各种条件下的运行表现。这样可以根据浏览器的不同情况,采用不同的代码逻辑,达到兼容性的目的。渐进增强是从一个基本功能的版本开始,在较新版本的浏览器中逐步增加更多的特性和效果,以提供更丰富的用户体验。可以使用Polyfill或Shim来提供对这些特性的模拟支持,让旧版本浏览器也能正常运行相应的功能。不同浏览器对默认样式的处理存在差异,使用CSS reset或Normalize.css可以统一各个浏览器的默认样式,使呈现效果更加一致。

2023-07-26 17:17:00 3204

原创 解决前端常见bug的逻辑思维

3、网络请求问题:对异步请求问题,确保请求的URL、参数和头部信息正确,并检查网络返回的数据。分析代码:仔细检查相关的HTML、CSS和JavaScript代码,查找可能导致bug的地方。通过查看控制台输出、检查元素、监视网络请求等功能,可以帮助找到代码的错误和异常情况。查询文档和社区:利用你搜索引擎、技术文档和开发者社区的资源,查找类似问题的解决方案和经验分享。兼容性问题:对于各个浏览器不同的解析行为和CSS支持差异,可以使用CSS前缀、Polyfill、条件注释等方法来解决兼容性问题。

2023-07-25 17:20:00 575

原创 如果好久没敲代码了,怎么快速恢复

3、找到合适的学习资源:在网上寻找一些在线课程、教程、博客文章和视频教程,这些资源可以帮助你更新和学习新的编程知识。7、持之以恒:编程需要不断的练习和实践,要保持动手写代码的习惯,并且相信你的能力会随着时间的推移不断提高。6、实践项目:找一些小型项目来实践你的编程技能,可以是个人兴趣项目、开源项目的贡献或是参与一些编程挑战。2、复习项目和练习:重新审视你过去完成的一些项目和练习题,这有助于你理解和回顾之前学习过的知识。4、小步快跑:开始时不要设定太高的目标,可以从一些简单的练习开始,逐步增加难度和复杂度。

2023-07-24 16:20:03 1231

原创 升级Flutter

由于Flutter正在快速发展阶段,所以不可避免地会出现迭代更新。另外,Flutter SDK由Git版本控制系统管理,其分支包含Dtable等11个分支,而且可能会越来越多,因此建议你跟踪Stable分支。在Flutter官网下载到的版本,即Stable分支。当Fultter推出功能更全面的版本时,如果你使用Flutter SDK进行开发,那么如何升级呢?升级FlutterSDK对于Flutter SDK的升级,仅需在命令执行: flutter upgrade即可。升级脚本会自动从网上.

2022-05-12 02:08:05 1633

原创 探索Flutter热性修复特性

和传统的原生开发不同,Flutter具有热修复(在某些情况下称之为热重载)特性,热修复特性是Flutter的重要特性之一。所以热修复,指的是无需重新启动APP,即可快速的将修复后的源代码文件注入正在运行的Dart虚拟机中,而Dart虚拟机会立即套用修改后的代码。Flutter框架会自动构建组件树实现热修复。...

2022-04-29 22:27:35 2864

原创 Flutter框架的优势

一、快速开发和迭代Flutter自身具有热修复(热重载)的功能,尽管有使用的限制,但是它依然能够为开发过程提供更高的效率。另外,Flutter SDK还允许我们修复崩溃和继续从应用程序停止的地方进行调试。二、页面流畅、样式美观对于不同的平台(Android和iOS),Flutter提供了风格不同的控件,以满足不同平台的设计理念。三、提供原生性能Flutter提供了一种响应式视图,无须JavaScript做桥接;强大的API使得实现复杂的页面效果成为可能;高性能的渲染机制使得120FPS的

2022-03-15 00:54:20 5351

原创 什么是事件冒泡

什么是事件冒泡事件冒泡就是指父元素和子元素有相同的事件,当触发子元素事件时,会向上冒泡,同时也会触发父元素事件事件冒泡的三个阶段1、捕获阶段:从window对象传导到目标节点(上层传到底层)称为“捕获阶段”,捕获阶段不会响应任何事件;2、目标阶段:在目标节点上触发称为“目标阶段”;3、冒泡阶段:从目标节点传导回window对象(从底层传回上层),称为“冒泡阶段”;事件冒泡的原理事件委托原理就是利用事件冒泡机制把里层所需要响应的事件绑定到外层...

2022-03-14 22:13:59 9595

原创 强缓存和弱缓存是什么

强缓存强缓存就是利用http协议头的expres(时间字符串)和cache- control(相对时间)两个字段来控制的,看协议头上有没有用来表示资源的缓存时间;强缓存中,如果普通刷新会忽略他,不会清除他,需要强制刷新。带上cache- control:no-cache(不使用本地缓存),和pargma:no-cache;弱缓存弱缓存也就是协商缓存,就是有服务器来确定缓存资源是否可用,所以客户端和服务器端需要用某种标识来进行刷新一半都是协商缓存,只有在地址栏输入网址,活着通过链接引用资源的情况下

2022-02-17 20:21:01 3589

原创 web前端‘初级’、‘中级’、‘高级’工程师水平应该掌握的技术

web前端初级工程师数据类型的种类与作业,常用框架的使用,会编写函数,掌握样式表的使用,常用组件库的使用;web前端中级工程师理解闭包,作用域,掌握递归,防抖、节流等算法的实现;能够使用mvvm框架进行组件化封装及使用,事件的使用及原理,独立完成功能模块开发;web前端高级工程师掌握mvvm框架实现原理,类型检查,代码规范化的标准,了解webpack,gulp等自动化部署的开发;编写高效的算法函数,编写高复用性组件;...

2022-02-07 19:55:43 1934

原创 前端工程师的职业规划

我的最终目标是成为“资深web前端工程师”我把它分为三个阶段分别是‘起步’、‘提升’、‘成型’一、起步阶段1、基础知识的掌握除了理论上的知识外,做为打基础阶段,我们在过程中更多的是需要投入到实践中去,熟能生巧;2、常用工具的掌握例如:vscode,这种工具的掌握能够提升专业、职业度,同时能够提升我们的工作效率;3、保持良好的开发习惯例如:我们在开发一个项目之前可以先分析、先写文档、适当的填写注释、项目中变量名函数名要见名之义(见其名之其义);二、提升阶段1、高级技术的掌握例如:学

2022-02-07 17:18:20 5672

原创 CSS垂直居中的方法

弹性布局 align-items:center;Line-height 等于 height (行高等于高度,一般用于文字垂直居中);Position: absilute (绝对定位+偏移值 top:50% margin-top:-50%);Position: absilute (绝对定位+偏移值 0 + margin:0 auto);transform:translate(-50%,-50%);...

2022-01-29 01:25:40 372

原创 浏览器的缓存机制

什么是浏览器的缓存机制浏览器的缓存机制就是把一个请求过的web资源(例如:html页面、图片、js、数据等)拷贝一份副本储存在浏览器中;缓存会根据进来的请求保存输出内容的副本,当下一个请求到来的时候,如果是相同的URL,缓存会根据缓存机制决定是否直接使用副本响应访问请求,还是向源服务器再次发送请求。比较常见的就是浏览器会缓存访问过的页面,当再次访问这个URL地址的时候,如果网页没有更新就不会再次下载网页,而是直接使用本地缓存的网页;只有当网站明确标识已更新,浏览器才会再次下载网页;浏览器缓存机制的好

2022-01-28 02:34:13 5773

原创 如何理解宏任务和微任务

如何理解宏任务和微任务宏任务和微任务都是异步任务,都是在同一个任务列队中,主要区别在于他们执行顺序;在异步列队下又分为宏任务列队和微任务列队当一个宏任务执行结束前,会在微任务列队执行栈中查找是否有微任务,如果有则执行,没有则开启一个新的宏任务,所以微任务总是在宏任务执行结束前执行的;宏任务整体 script、setTimeout、setInterval、setImmediate;微任务 promise、MutationObserver;...

2022-01-27 02:32:39 969

原创 JS的执行机制是什么

js的执行机制js是单线程语言,一次只能执行一个任务,所有的任务都需要排队,排队的列队称为:事件循环机制(Event Loop),所以Event Loop就是js的执行机制;js单线程js作为浏览器脚本语言,主要用来与用户进行交互,需要进行dom操作,避免了同时操作dom的矛盾,所以js是单线程;...

2022-01-26 02:57:42 1061

原创 ajax中get与post请求的区别

参数传输方式不同get:通过URL传输参数;post:通过请求体传输参数;安全性不同get:通过 url 传输参数,在历史记录,浏览器缓存很容易查到数据信息,所以安全性偏低;post:通过请求体传输参数,浏览器会对其进行加密,安全性比较高;可传输参数的大小不同get:因为是在URL中传输,有长度限制;post:可以传输任何格式的参数;...

2022-01-25 03:05:38 659

原创 css样式权重优先级

CSS样式权重优先级如何计算的!important > 行内样式 > id > class = 伪类 = 属性 > 标签 > * > 继承

2022-01-25 02:48:27 411

原创 浏览器输入URL到页面渲染完毕的过程经历了哪些

浏览器输入URL到页面渲染完毕的过程1、首先浏览器在输入URL之后,会先解析URL,判断是否合法;2、合法的话会查看浏览器缓存,判断是否有缓存,如果有缓存,则显示;3、如果没有缓存,浏览器会向服务器发送HTTP协议,会进行DNS解析,获取IP地址;4、浏览器和服务器进行TCP连接,进行三次握手;5、握手成功之后,浏览器会向服务器发送http请求,请求数据包;6、服务器处理请求,将数据返回给浏览器;7、浏览器收到HTTP响应后,会解析它;8、浏览器发送异步请求,然后渲染页面;...

2022-01-24 02:02:48 2519

原创 如何理解盒子模型

每个 HTML 元素都是一个盒子,这个盒子中可能又会包裹着其他的盒子,这就是盒子模型 - 盒子模型分为 【标准盒模型】与【IE 盒模型】标准盒模型:外边距 + 边框 + 内边距 + 内容(宽高)IE 盒模型:外边距+内容(宽高+内边距+ 边框)设置盒子模型的方式:Box-sizing:content-box 设置标注盒模型 默认Box-sizing:border-box 设置 IE 盒模型...

2022-01-23 02:48:50 404

原创 前端如何使用css样式画一个三角形

前端如何使用css样式画一个三角形div {width:0px;height:0px;border-top:10px solid red; border-right:10px solid transparent;border-bottom:10px solid transparent; border-left:10px solid transparent;}

2022-01-22 02:51:56 389

原创 Ajax的工作原理及使用步骤

Ajax的工作原理ajax是一种异步获取数据的技术,他的原理是通过XMLHttpRequest对象来向服务器发送异步请求,类似一个中间层,负责请求数据,不影响浏览器其他事件执行,等到数据回来之后再通知浏览器,浏览器再进行处理Ajax的使用步骤:1、新建一个 XMLHttpRequest 对象 let xhr = new XMLHttpRequest();2、使用 open() 和 send()方法发送请求 xhr.open(url:xxx,methods:xxx) xhr.send();3、使用

2022-01-21 01:52:21 568

原创 如何实现上传文件的时候图片预览

实现上传文件的时候图片预览1、通过 input.files[0] 获取到确认选择的图片信息f = document.getElementById('file').files[0];2、使用 URL.createObjectURL 将获取到的图片信息转为可临时访问的 URL url = URL.createObjectURL(f);3、把获取到临时 url 地址,放在预览图片的 img 标签的 scr 上就完成预览了;...

2022-01-20 02:07:01 554

原创 ajax如何上传文件

使用FormData对象1、创建一个 FormData 对象 f = new FormData();2 、通过 files[0] 获取到确认选择的图片信息 imgInfo=document.getElementById('img').files[0];3、把文件信息添加到 FormData 对象中 ,注意这里是键值对的形式f.append('img',imgInfo);4、在 ajax 请求的响应体中添加 FormData 对象 $ajax({data:f});...

2022-01-20 02:02:01 746

原创 cookies,sessionStorage,localStorage的区别

共同点都是保存在浏览器端,且同源不同点生命周期不同cookie:可设置失效时间,没有设置的话,默认是关闭浏览器后失效;localStorage:除非被手动清除,否则将会永久保存;sessionStorage: 仅在当前网页会话下有效,关闭页面或浏览器后就会被清除;数据大小不同cookies数据大小不能超过4k;sessionStorage和localStorage数据大小可以达到 5M 或者更大;http请求不同cookie:每次都会携带在HTTP头中,如果使用cooki

2022-01-19 02:44:24 399

原创 事件代理(事件委托)、事件冒泡

事件代理(事件委托),事件冒泡事件代理(事件委托)事件冒泡事件代理(事件委托)事件代理又称为事件委托,一般作用于当多个相同元素需要使用同一个事件时,可以委托给他们的同一父元素上进行处理,这样会优化性能,不用给每个子元素都注册一遍事件,节省代码空间,减少代码冗余,减少事件注册;事件委托的原理是DOM元素的事件冒泡事件冒泡事件冒泡是指父元素和子元素有相同的事件,当触发子元素事件时,会向上冒泡,同时也会触发父元素事件事件冒泡又分为三个阶段:1、捕获阶段:从window对象传导到目标节点

2022-01-18 01:27:19 823

原创 跨域是什么,如何解决跨域

什么是跨域,如何解决跨域跨域是什么跨域就是浏览器为了安全做的同源策略,协议、域名、端口,这三者有一者不同就会产生跨域;跨域的解决方法方法一:使用JSNP,利用了’script’标签中的’src’属性,没有跨域限制的特性,并提供一个回调函数,回调函数名称为callback;方法二:vue中集成了跨域的解决,可以通过添加代理:在vue.config.js中添加了devServer:{proxy: 代理地址};方法三:需要后端的PHP,

2022-01-15 02:52:01 579

原创 前端 js 设置cookie的方式及遇到cookie方面的问题

前端设置cookie的方式及cookie方面的问题前端axios携带cookie报错或请求失败前端axios携带cookie报错或请求失败首先排查cookie的携带是否有误我们要知道,axios里的post请求里cookie是放哪的axios.post(url,{第一个对象里是放后端传回的参数},{第二个人接口是放请求头请求体设置以及cookie是否允许携带设置等})所以我们cookie放在第二个对象里,在这里cookie其实是默认不允许携带的,他这里是没显示出来我们直接在第二个对象里设置一

2021-03-28 16:24:00 4172 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除