前端开发
文章平均质量分 63
前端开发
eshineLau
一个想要实现财富自由的技术码农,分享一些职场收货
展开
-
Web 端视频播放的常见问题及相应解决方案
视频播放失败网络跨协议拦截CDN 无视频CDN 鉴权失败微信浏览器拦截跨域问题视频未转码异常视频浏览器环境不支持播放浏览器不支持 Flash浏览器不支持 MSE浏览器不支持解码 H264 或者不支持播放 MP4、HLS 格式的视频HLS 加密视频播放失败获取 key 失败解密失败浏览器劫持视频播放视频激活播放后强制全屏视频无法被其他元素覆盖播放器出现多余的图标播放器出现广告、下载、推荐视频等内容Android 端播放视频不会随着页面滑动播放器显示尺寸播放器出现黑原创 2024-04-17 21:19:32 · 1525 阅读 · 1 评论 -
基础面试题
谈谈垃圾回收机制方式及内存管理简述登录原理一个小项目让你自己负责搭建底层一些架构说一下了解的js 设计模式,解释一下单例、工厂、观察者说一下git和svn的区别何为同源策略及如何处理跨域问题基础算法能力。原创 2024-04-16 10:30:10 · 660 阅读 · 0 评论 -
错误:Blocked script execution in ‘about:blank‘ because the document‘s frame is sandboxed and the ‘allo
错误:VM5729:1 Blocked script execution in ‘about:blank’ because the document’s frame is sandboxed and the ‘allow-scripts’ permission is not set.原因是:在“about:blank”中阻止脚本执行,因为文档的框架已被沙盒化并且未设置“allow-scripts”权限。这个错误提示是Cesium不识别js,沙箱iframe不允许使用js。原创 2024-04-15 15:21:01 · 1609 阅读 · 0 评论 -
H5如何中断已经发出去的网络请求
umi 项目中默认的请求库是umi-request,因此我们可以使用umi-request提供的方法来中止请求。另外,在umi项目中可以搭配使用了dva,因此下面简单介绍下在dva中使用CancelToken中止请求的流程。Fetch 是 Web 提供的一个用于获取资源的接口,如果要终止 fetch 请求,则可以使用 Web 提供的 AbortController 接口。abort():终止一个尚未完成的Web(网络)请求,它能够终止 fetch 请求,任何响应Body的消费者和流。Fetch 中断请求。原创 2024-04-11 18:38:26 · 760 阅读 · 0 评论 -
执行npm publish 报错:need auth You need to authorize this machine using `npm adduser`
在发布 npm 包的时候提示没有登录,解决办法 This command requires you to be logged in to https://npm.pkg.github.com。做了一个 npm 包,在想发布的时候,怎么都发布不了。npm adduser 登录成功的。registry 末尾不要加斜杠。但是我明明已经登录了。原创 2024-04-11 18:32:58 · 1712 阅读 · 0 评论 -
AJAX教程笔记,常用API
header(‘Content-Type’, ‘application/javascript’) //如果是从php页面返回js脚本时,设置,如果直接请求js页面,不需要。’).load(url, [data], [fn]) 异步加载指定URL返回的数据(必需是text/html),挂载为当前选定元素的innerHTML。//把JSON字符串解析为JS数组/对象。发起异步的GET请求,获取服务器端返回的JSON响应,并自动调用JSON.parse()方法把服务器返回的JSON字符串解析为JS对象。原创 2024-04-10 18:38:25 · 881 阅读 · 0 评论 -
前端常用工具库集合
声网 rtc https://docs.agora.io/cn/Video/API%20Reference/web/interfaces/agorartc.stream.html。vconsole 控制台不滑动版 :https://cdn.bootcss.com/vConsole/3.3.4/vconsole.min.js。partc文档 https://peimc-web-stg.pa18.com/video/PFMC-static/doc/index.html。原创 2024-04-10 18:37:08 · 1052 阅读 · 0 评论 -
BOM教程笔记,常用API
1、window对象:在浏览器中替代global对象的全局对象。2.修改或设置浏览器窗口相关属性。同名窗口只能打开一个!原创 2024-04-09 19:25:21 · 527 阅读 · 0 评论 -
css遇到的各种问题及解决方案
不同的html id可以重名,不影响link了不同的css,里面有选择器重名的,后者会覆盖前面的,所以要把公用的,其他页面用到一部分的link到前面,本页的css写到最后,覆盖前面没用的。如果父元素有宽高,只有背景图,没有其他内容,且没有边框,给子元素加margin 父元素会被加宽,或margin被加到父元素上,是css bug。当块元素中直接插入定款定高的图片时,如果块元素不指定宽和高,图片就会有2像素左右的向下偏移。父元素加padding取代margin,需要父元素减去padding的高度,计算麻烦。原创 2024-04-03 11:17:23 · 357 阅读 · 0 评论 -
关闭chrome浏览器安全策略,允许跨域请求
本地调试项目,接口出现cors错误,如何能跨过拦截,继续调试?前端在调试代码的时候,可能会遇到后端服务暂未设置cors配置的情况,这时候如果我们想通过本地localhost域名请求绝对接口路径,那么就会触发浏览器的cors安全策略,导致请求被拦截。如果我们不想做其他改变,有什么办法可以继续调试呢?可以使用下面方式,将浏览器的安全策略关闭,就可以继续调试了。原创 2024-04-03 11:16:38 · 3097 阅读 · 0 评论 -
CSS3 高级- 复杂选择器、内容生成、变形(transform)、过渡(transition)、动画(animation)
一、复杂选择器兄弟选择器:选择平级元素的唯一办法属性选择器:1、通用:基本用不着,太泛了2、自定义:4种伪类选择器:1、目标伪类:2、结构伪类:3、元素状态伪类:4、伪元素选择器:应用于文字,使网页看起来想杂志5、否定伪类:选择器:not([本选择器的条件]) /*有兼容问题,少用*/二、内容生成1、伪元素三、变形(transform)----迅速变化1、旋转 rotate2、位移 translate3、缩放 scale4、倾斜 skew5、3D变形四、过渡(trans原创 2024-04-02 17:00:19 · 1231 阅读 · 1 评论 -
JQuery入门基础
jQuery是javascript类库,简称JS库。它预定义了一套对象和函数,简化了javascript的开发,帮开发者建立高难度交互的web2.0特性的富客户端页面。jQuery常用API原创 2024-03-31 20:05:41 · 939 阅读 · 0 评论 -
Photoshop笔记大全
Ctrl+R:调出标尺Ctrl+T:调整变形。拖动时,按住ctrl键,任意变形。按住Shift键,等比例变形。按Esc键,恢复。Alt+delete:前景色填充Ctrl+delete:背景色填充ctrl+x:剪切ctrl+v:粘贴在新图层ctrl+shift+v:原位粘贴在新图层ctrl+z:撤销一步。ctrl+alt+z:连续撤销ctrl+shift+I:反向选择delete:删除选区。ctrl+D:取消选区。ctrl+E:合层。ctrl+Enter:钢笔选择区域变选区。常用快捷键。Shift+工具代码原创 2024-03-31 18:47:08 · 1052 阅读 · 0 评论 -
JavaScript快速入门笔记之十(OOP:面向对象程序设计)
OOP:面向对象程序设计对象:程序中描述现实中一个物体的属性和功能的结构一个对象专门代表现实中的一个物体面向对象3大特点:封装(对象来封装属性和方法),继承(子对象用父对象属性方法,原型链),多态(如this 不同的场合不同状态,js对多态支持不好,仅讨论重写)原创 2024-03-30 13:59:45 · 798 阅读 · 0 评论 -
JavaScript快速入门笔记之九(错误处理 Error、Function对象)
错误:程序运行过程中发生的异常状态,导致程序停止运行——异常错误处理:当程序发生错误时,保证程序不退出的机制发生错误时,程序会自动创建一个Error对象:Error对象中仅封装了错误的信息js种6种何时使用:今后只要程序有可能抛出错误,就要将可能发生错误的代码放入try中错误处理中的return抛出自定义错误!何时需要抛出自定义错误:自己实现的函数,被被人调用时。为了向合作伙伴提示开发错误,都要主动抛出错误信息。语法:throw new Error(“自定义错误信息”)原创 2024-03-30 13:59:17 · 670 阅读 · 0 评论 -
JavaScript快速入门笔记之八(Math对象、Date对象、Number对象、Boolean对象)
封装数学计算中常用的常量值,提供了常用的数学函数不能被实例化常用方法:1.取整:Math.round(n) --对n四舍五入取整Math.ceil(n) --上取整Math.floor(n) --下取整问题:Math.round()虽返回四舍五入的num类型,但只能取整num.toFixed(n) 虽然可以按任意小数取数,但返回字符串类型,且有舍入误差解决:自定义一个增强版round函数,即可返回指定位数四舍五入,又返回number类型数值,且没 有舍入误差。已放在在文件中。原创 2024-03-29 15:55:51 · 569 阅读 · 0 评论 -
JavaScript快速入门笔记之七(String:字符串类型、RegExp:正则表达式)
什么是字符串?底层本质 :一串字符组成的*只读*字符数组 包装类型:临时封装原始类型数据,并提供对数据操作方法的对象——类型名和原始类型名相同! String Number Boolean何时使用:不必手动创建! js在使用原始类型调用函数时,会自动创建对应的包装类型。包装类型生命周期:调用函数时,临时创建 函数调用完立刻释放!1. 大小写转换:str.toUpperCase() str.toLowerCase() 2. 获取指定位置字符原创 2024-03-29 15:53:21 · 956 阅读 · 0 评论 -
JavaScript快速入门笔记之六(JS内置对象、数组Array)
js内置对象:ES标准中规定的,由厂商已经实现的对象11个:String Number Boolean Array Date Math RegExp Error Function Object Global。 JS内置对象(11个)、关于地址和内存、遍历数组、索引数组、冒泡排序、数组排序、二维数组、数组对象的常用API原创 2024-03-28 17:37:35 · 537 阅读 · 0 评论 -
JavaScript快速入门笔记之五(分支结构、循环结构)
程序结构:3种:1. 顺序结构:默认自上向下顺序执行(函数除外)2. 分支结构:根据不同的条件,执行不同的任务3. 循环结构:程序反复执行同一段代码。分支结构:根据不同的条件,选择执行不同的代码段!vs 三目:根据不同的条件,返回不同的值分支结构 if:3种:if结构:1件事,满足条件就做,不满足就不做语法:if(条件){满足条件才执行的代码简写:条件&&满足条件才执行的代码仅限于执行的代码只有一句时,才可用if…else结构:2件事,必须二选一执行。原创 2024-03-28 17:34:55 · 305 阅读 · 0 评论 -
JavaScript快速入门笔记之四(函数、声明提前)
函数本质:js中的函数也是一个对象!函数名是引用函数对象的变量名!封装一项专门任务步骤清单的代码段, 起一个任务名为什么使用函数:重用!何时使用:只要发现一项任务,反复编写时,都要封装为函数参数:专门接收传入函数内部的数据的变量如何声明参数变量:声明函数时,在函数名后的圆括号中,不用var,每个参数变量之间用逗号分隔参数变量的用法:和普通变量完全一样!何时/如何传入参数值:调用时在函数名后的圆括号中,参数值的个数和顺序要和参数变量声明时保持一致参数使函数变得更灵活!参数是局部变量!原创 2024-03-27 09:52:13 · 334 阅读 · 0 评论 -
JavaScript快速入门笔记之三(数据类型转换、运算符)
js是弱类型编程语言。数据类型转换、隐式转换、强制转换、运算符原创 2024-03-27 09:51:38 · 898 阅读 · 0 评论 -
HTML5通过api实现拖放效果 dataTransfer对象
dataTransfer对象用于从被拖动元素向放置目标传递字符串数据。因为这个对象是 event 的属性,所以在拖放事件的事件处理程序外部无法访问 dataTransfer。在事件处理程序内部,可以使用这个对象的属性和方法实现拖放功能原创 2024-03-26 22:48:16 · 540 阅读 · 0 评论 -
JavaScript if用法练习
JavaScript if用法练习原创 2024-03-26 23:21:57 · 357 阅读 · 0 评论 -
JavaScript快速入门笔记之一(基本概念)
JavaScript=ECMAScript(核心语法)+DOM(专门操作网页内容的标准)+BOM(专门操作浏览器窗口的API)交互:输入数据,处理数据,返回结果 * 脚本:不用编译,直接边解释边执行的程序(会预读) * 事件:用户或浏览器自身触发的动作,事件触发后,才会执行事件处理程序 * 程序:让计算机可以执行任务的指令的序列,程序=数据结构+算法 * 数据结构:程序中数据的存储结构 * 算法:程序的执行步骤!顺序,分支,循环 * 数据类型:数据在内存中的存储格式,不同数据的类型,可执行的操作原创 2024-03-26 00:05:32 · 562 阅读 · 0 评论 -
JavaScript快速入门笔记之二(变量、常量、数据类型)
何时使用变量:程序中的一切数据都要保存在变量中,反复使用如何使用变量:2种情况:赋值和取值替换。变量、常量、数据类型原创 2024-03-26 00:06:40 · 713 阅读 · 0 评论 -
HTML快速入门笔记
HTML概述超文本:Web是一个超文本的集合;超文本是web的基本组成单元,也成为网页或HTML文档,Web页等,通常以.html或.htm为后缀的文件;文件通过超链接组织在一起。HTML: 超文本标记语言HTML基础语法标记语法:HTML用于描述功能的符号称为“标记”,比如标记在使用时必须用尖括号括起来,有封闭和非封闭标记(空标记)。元素:即标记,每一对尖括号包围的部分,元素可以包含文本内容和其他元素。原创 2024-03-25 23:40:01 · 472 阅读 · 0 评论 -
函数表达式和函数声明
函数声明的优点是可以在函数声明之前进行调用,因为函数声明会被提升到作用域的顶部。函数表达式可以在定义之后进行调用,因为函数表达式是赋值给变量或者常量的。在JavaScript中,函数可以通过函数表达式和函数声明两种方式定义。原创 2024-03-25 22:57:17 · 251 阅读 · 0 评论 -
webrtc入门实践
webrtc入门实践原创 2024-03-25 13:47:57 · 1058 阅读 · 0 评论 -
script标签中的defer和async
如果async脚本下载较快, 趁async脚本下载很短时间内, 文档的解析渲染未完成, async下载后立即执行, 执行时会阻塞文档的解析渲染;但chrome做了优化, 遇到script脚本, 会快速的查看后边有没有需要下载其他资源的, 一起并行下载, 为了节省一部分下载的时间。如果async脚本下载较慢, 当async还在下载时, 文档的解析渲染已完成, 这时不会等待async的下载, 会直接触发DOMContentLoaded事件。如果defer脚本下载较慢, 在下载完前, 页面解析渲染已完毕;转载 2024-03-24 16:45:43 · 116 阅读 · 0 评论 -
pm2进行管理命令大全
pm2 node进行管理命令大全原创 2024-03-24 13:19:35 · 446 阅读 · 0 评论 -
设置NPM镜像命令
npm设置镜像,yarn设置镜像命令原创 2024-03-24 13:10:54 · 467 阅读 · 0 评论 -
wordpress环境搭建及使用
-环境搭建安装xampp环境在xampp的htdocs目录下新建一个文件夹,如wps,将wordpress内容烤到该文件夹中。打开xzmpp的http://localhost/phpmyadmin/ 为wordpress新建一个数据库,如:wps-配置wordpress浏览器输入地址http://localhost/wps,配置相关信息。也可找到wps\wp-config.php文件来配置原创 2016-06-02 11:25:19 · 583 阅读 · 0 评论 -
插件搜集
日期时间选择器 支持日期和时间的Bootstrap表单组件。 链接: http://www.bootcss.com/p/bootstrap-datetimepicker/demo.htm https://github.com/eternicode/bootstrap-datepicker日期范围选择器 A JavaScript component for choosing date ra原创 2016-06-20 16:10:14 · 258 阅读 · 0 评论 -
单元测试工具
QUnit QUnit是一个强大的JavaScript单元测试框架,该框架是由jQuery团队的成员所开发,并且是jQuery的官方测试套件。 https://qunitjs.com原创 2016-06-20 16:34:53 · 248 阅读 · 0 评论 -
gulpfile
// Generated on 2016-03-11 using generator-angular 0.15.1'use strict';var gulp = require('gulp');/* 读取package.json文件里的Dependencies相关配置项,调用gulp api,将gulp插件加载进来,返回对象是obj,该obj的key值与插件同名,指向每个插件,obj赋值给$符原创 2016-06-20 16:44:51 · 412 阅读 · 0 评论 -
实现javascript Date加减功能
function dateAddORSub(interval, type, number, myDate) { /* * 功能:实现Date加减功能. * 参数:interval,字符串表达式,表示要添加的时间间隔. * 参数:number,数值表达式,表示要添加的时间间隔的个数. * 参数:type,加减类型. * 参数:myDate,以m原创 2016-06-14 19:13:01 · 2119 阅读 · 0 评论 -
Date Format
Date.prototype.Format = function (fmt) { /** * 对Date的扩展,将 Date 转化为指定格式的String * 月(M)、日(d)、小时(h)、分(m)、秒(s)、季度(q) 可以用 1-2 个占位符, * 年(y)可以用 1-4 个占位符,毫秒(S)只能用 1 个占位符(是 1-3 位的数字) *原创 2016-06-14 19:26:49 · 543 阅读 · 0 评论 -
vue 父子组件通信
父子组件通信 父链子组件可以用 this.parent访问它的父组件。根实例的后代可以用this.parent 访问它的父组件。根实例的后代可以用 this.root 访问它。父组件有一个数组 this.$children,包含它所有的子元素。尽管可以访问父链上任意的实例,不过子组件应当避免直接依赖父组件的数据,尽量显式地使用 props 传递数据。另外,在子组件中修改父组件的状态是非常糟糕的做法转载 2016-09-02 11:12:35 · 3046 阅读 · 0 评论 -
重置form表单为json对象
jquery扩展,重置form表单为json对象原创 2016-05-31 14:01:19 · 455 阅读 · 0 评论 -
form表单回车提交问题
我们有时候希望回车键敲在文本框(input element)里来提交表单(form),但有时候又不希望如此。比如搜索行为,希望输入完关键词之后直接按回车键立即提交表单,而有些复杂表单,可能要避免回车键误操作在未完成表单填写的时候就触发了表单提交。要控制这些行为,不需要借助JS,浏览器已经帮我们做了这些处理,这里总结几条规则:如果表单里有一个type=”submit”的按钮,回车键生效。如果表单里转载 2016-07-13 17:58:01 · 1235 阅读 · 0 评论