![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
前端开发
schurmi
哈哈哈,嘻嘻嘻
展开
-
使用replace替换html字符串中指定内容
第一时间想到用正则去替换,虽然正则一直都有用,但是没有仔细去看replace的具体参数,之前一直用它替换文本,在文档上有这样一句话。最开始想到的办法是在富文本编辑器中添加a标签跳转,这是最简单最方便的办法。但是需求又来了,有些文章并不是都由富文本编辑器生成的,那就无法通过编辑器提添加了,这。在做新闻详情页时,产品需求要在关键字文本内容上添加链接。第二个参数是可以是回调函数,顿时感觉自己太不认真,没仔细看文档。原创 2022-10-27 14:55:10 · 610 阅读 · 0 评论 -
有关JS的多态,封装,继承
在 JavaScript 语言中不存在类的概念,对象也并非从类中创建出来的,所有的 JavaScript 对象都是从某个对象上克隆而来的。封装的目的是将信息隐藏。隐藏实现细节、设计细节以及隐藏对象的类型等。使得对象内部的变化对其他对象而言是不可见的。JavaScript 本身是一门基于原型的面向对 象语言,它的对象系统就是使用原型模式来搭建的。多态最根本的作用就是通过把过程化的条件分支语句转化成对象的多态化,从而消除这些条件分支语句。其他对象或者用户都不关心它的内部实现。封装使得对象之间的耦合变得松散。原创 2022-10-21 11:59:50 · 240 阅读 · 0 评论 -
本地开发chrome无法携带cookie的解决办
修改浏览器配置低版本的Chrome浏览器 例如89版 修改SameSite 的解决办法网上有很多;但是对于最新版,大于91版本发现chrome貌似强制禁用第三方cookie了,这就导致开发的时候,使用cookie的项目,访问不同域没有办法携带cookie,暂时没有好的解决办法vue使用代理在使用vue-cli3版本 可以在vue.config.js中添加代理到本地 devServer: { proxy: { '/api': { target: 'htt原创 2022-03-02 17:26:03 · 1324 阅读 · 0 评论 -
vue项目开启gzip方法
开启gzip有两种方法1.使用vue客户端vue配置项 configureWebpack: { plugins: [ new CompressionPlugin({ algorithm: "gzip", // 使用gzip压缩 test: /\.js$|\.html$|\.css$/, // 匹配文件名 filename: "[path].gz[query]", // 压缩后的文件名(保持原文件名,后缀加.gz)原创 2021-07-29 16:15:27 · 1020 阅读 · 0 评论 -
钉钉微应用开发时代码存在缓存
问题钉钉微应用开发,页面更新之后,客户端访问时,依然访问的是老版的页面。需要清除钉钉缓存之后才能 刷新到新页面。但是全公司百十来号人,不能要求每人都清除一下缓存,最好是打开就是改过之后的页面。解决微应用是用vue-cli开发的,钉钉原生webview会将应用缓存cache缓存下来,并且很难通过钉钉内置缓存清除。最后查看打包后的文件发现,所有文件名都是不变的,即使改版后打包的文件名和改版前是一样的。这是导致缓存的原因。解决办法:在vue打包后的文件名添加时间戳,保证每次打包文件名都不一样。这样就不会原创 2021-05-28 16:19:15 · 2370 阅读 · 2 评论 -
页面锚点链接点击平滑滚动
页面通过锚点跳转到指定位置添加平滑滚动效果,当点击锚点时可以平滑滚动到下一个锚点位置。一点思路给需要跳转的节点添加相同的类名section,通过点击事件获取需要跳转的节点索引值$key,使用animate添加动画效果,相对简单 $('html,body').animate({ scrollTop: $(".section").eq($key).offset().top }, 1000, function () { });出现问题在滚轮滚原创 2021-05-15 17:09:15 · 1417 阅读 · 0 评论 -
nginx try_files 配置
语法: try_files file … uri 或 try_files file … = code默认值: 无作用域: server location例如:访问 http://abc.com/qwenginx 配置 try_files $uri $uri/ /index.html会依次查找:qwe文件($uri)qwe文件夹($uri/)重定向http://adc.com/qwe/index.htmltry_files 第三个参数一定要写,否则会报错500。第三个参数可以是使用原创 2020-05-12 16:20:19 · 453 阅读 · 0 评论 -
svelte框架的一些探索
介绍尤雨溪大神对此框架的评:这个框架的 API 设计是从 Ractive 那边传承过来的(自然跟 Vue 也非常像),但这不是重点。Svelte 的核心思想在于『通过静态编译减少框架运行时的代码量』。举例来说,当前的框架无论是 React Angular 还是 Vue,不管你怎么编译,使用的时候必然需要『引入』框架本身,也就是所谓的运行时 (runtime)。但是用 Svelte 就不一样,一个...原创 2019-12-31 09:36:16 · 441 阅读 · 0 评论 -
JavaScript运行解析(二)
箭头函数ES6标准新增了一种新的函数:Arrow Function(箭头函数)。THIS作为普通函数使用:this指向windown作为方法进行调用: this指向该方法的所有者作为构造器进行调用:this指向构造函数的调用,返回值即为一个对象,而这个对象即为构造函数作用域内this的 引用对象,即“函数上下文”。call(),apply()方法调用:函数内部的this...原创 2019-12-26 17:17:05 · 120 阅读 · 0 评论 -
JavaScript运行解析(一)
概述javascript是单线程的解释性语言,单线程就是先执行完一个,再执行另一个,解释性语言就是先翻译一行,再执行一行,先翻译一行,再执行一行,但是js在执行之前通常会先通篇扫描一遍代码,而不执行代码,通篇扫描就是看看代码有没有什么低级语法错误,这个过程(通篇扫描)就叫语法(义)分析,而在通篇扫描完成之后,才真正开始预编译过程,最后才开始解释一行,执行一行,解释一行,执行一行js运行3部曲 ...原创 2019-12-22 23:21:57 · 260 阅读 · 0 评论 -
构造函数内的属性和构造函数prototype属性区别
继承JavaScript 实现继承主要是依靠原型链来实现的。其基本思想是利用原型让一个引用类型继承另一个引用类型的属性和方法。原型和实例的关系:每个构造函数都有一个原型对象,原型对象都包含一个指向构造函数的指针,而实例都包含一个指向原型对象的内部指针。new 和 prototype我们在创建对象时可以通过使用构造函数模式创建,通过new操作符创建。new函数内添加独立的属性,同时通过pro...原创 2019-12-20 17:36:42 · 590 阅读 · 0 评论 -
vue-cli3.x history模式出现的问题
vue-cli3.x 和vue-cli2.x配置不一样,3.x精简了好多配置内容,而且将配置项统一都放在了vue.config文件里。在使用vue-cli中路由模式分URL都会带有#号的hash模式,和URL不带#号的history模式,一般使用的都是hash模式,但是在有些情况下,要使用history模式,但是如果使用history模式,不仅需要修改vue的配置,而且需要服务器修改相关配置...原创 2019-08-23 09:45:47 · 1882 阅读 · 0 评论 -
JavaScript的回收机制与闭包
1.垃圾回收JavaScript 中的内存管理是自动执行的,而且是不可见的。我们创建基本类型、引用类型、函数,所有这些都需要内存。当已经不需要某块内存时这块内存还存在着,为了防内存泄漏,引入了垃圾回收机制。间歇的不定期的寻找到不再使用的变量,并释放掉它们所指向的内存。2.变量的周期当一个变量的生命周期结束之后它所指向的内存就应该被释放。JavaScript有两种变量,全局变量和在函数中产生...原创 2019-12-13 17:29:22 · 329 阅读 · 0 评论 -
闭包的理解
闭包闭包是指有权访问另一个函数作用域中的变量的函数一个函数里面嵌套另外一个函数。嵌套(内部)函数对其容器(外部)函数是私有的。它自身就形成了一个闭包。一个闭包是一个可以自己拥有独立的环境与变量的的表达式(通常是函数,因为ES6有了块级作用域的概念)。 function t2() { var b = 100; function t3() { return ++b ...原创 2019-10-19 13:35:02 · 223 阅读 · 0 评论 -
IOS点击事件延迟300ms踩坑
追溯至 2007 年初。苹果公司在发布首款 iPhone 前夕,遇到一个问题:当时的网站都是为大屏幕设备所设计的。于是苹果的工程师们做了一些约定,应对 iPhone 这种小屏幕浏览桌面端站点的问题。这当中最出名的,当属双击缩放(double tap to zoom),这也是会有上述 300 毫秒延迟的主要原因。双击缩放,顾名思义,即用手指在屏幕上快速点击两次,iOS 自带的 Safari 浏览器会...原创 2019-09-04 19:40:15 · 1378 阅读 · 0 评论