Konvajs Shape加载自定义图片
Konvajs Shape加载自定义图片 🔗需要先请求图片后加载shape,否则不能拖动 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
共找到 25 篇文章
Konvajs Shape加载自定义图片 🔗需要先请求图片后加载shape,否则不能拖动 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
why-is-node-running 为什么一个Node.js进程没有退出 🔗why-is-node-running (Github) 用于诊断为什么一个Node.js进程没有退出。当你运行一个N
SharedArrayBuffer is not defined 如何解决 🔗SharedArrayBuffer 是一种 JavaScript 对象,用于在多线程环境中共享内存。然而,由于共享内存的特性,它可能导致安全漏洞。
expressjs 源码 🔗createApplication 🔗暴露应用逻辑 1 exports = module.exports = createApplication; express.js创建应用主体逻辑 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
element input数字格式化 🔗 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 formatNumber: (value, decimals = 0, max) => { let v = String(value); let reg = new RegExp(`[^\\d${decimals > 0 ? "." : ""}]`, "g"); v = v .replace(reg, "") .replace(/^0+(\d)/, "$1") // 第一位0
three 拼接货架 🔗 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64
WebAudio 笔记 🔗MediaElementAudioSourceNode 🔗用于传入媒体元素,可以通过代码调整媒体元素播放的参数,和audioCtx.c
url传参出现Uncaught URIError: URI malformed 🔗url加密传参有时候会出现Uncaught URIError: URI malformed的错误,这是因为你的url中包含了“%
microbundle 源码 🔗microbundle 是一个零配置的js打包器,基于rollup进行的开发 不需要任何配置文件就可以打包出常用的commonjs, umd, e
请求中获取浏览器推荐语言 🔗 1 2 3 4 5 6 7 8 9 10 11 12 let languages: string[] | undefined // get locale from cookie const localeCookie = request.cookies.get('locale') languages = localeCookie?.value ? [localeCookie.value] : [] if (!languages.length) { // Negotiator expects plain object so we need to transform headers const negotiatorHeaders: Record<string, string> = {} request.headers.forEach((value, key) => (negotiatorHeaders[key]
Eventsource单向服务端推送 🔗单向服务端推送 服务端部分 🔗服务端需要设置返回头 1 "Content-Type": "text/event-stream" 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
简易的事件监听 🔗 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 const createEvent = () => ({ events: {} as any, on(eventName: string, callback: Function) { this.events[eventName]?.push(callback) || (this.events[eventName] = [callback]); return () => { this.events[eventName] = this.events[eventName].filter( (e: any) => e !== callback ); }; }, emit(eventName: string, ...args: any[]) { const callbacks = this.events[eventName];
mousedown event中保持input的focus状态 🔗一定要使用e.preventDefault去除默认失去焦点行为 1 2 3 <input> <button>CLICK</button> <button>MOUSEUP</button> <button>MOUSEDOWN</button> <button>MOUSEDOWN 2</button> 1 2 3 4 5 6 7
对比2个版本号的方法 🔗semver 🔗使用第三方库semver 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 $ npm install semver var semver = require('semver'); semver.diff('3.4.5', '4.3.7') //'major' semver.diff('3.4.5', '3.3.7') //'minor' semver.gte('3.4.8', '3.4.7') //true semver.ltr('3.4.8', '3.4.7') //false semver.valid('1.2.3')
Media Source Extensions 🔗Media Source Extensions,缩写 MSE https://w3c.github.io/media-source/ 平时我们开发中加入视频或者音频,都是使用video、audio组件,附加一个src属性 这种
比较两个数组的不同项 🔗如何比较两个数组的不同项,并且取出组成一个新的数组 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 function diffArray(one, two) { if
esbuild 🔗基础api 🔗 option 类型 默认值 说明 bundle boolean false 把从入口开始的文件打包成一个bundle,设为true时,会把文件引用的其他文件也打包进来,默认为fa
零宽字符 🔗所谓零宽字符,就是不可见的「非打印」字符,通过视觉无法看出字符串中是否有零宽字符,但是通过代码遍历,是可以获取到该字符的。 零宽字符
判断元素是否可以滚动 🔗通过设置元素的scrollTop后再查看是否变化 🔗 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 function eleCanScroll(ele) { if (!ele instanceof HTMLElement) { console.log("fuck off"); return; } if (ele.scrollTop > 0) { return
async await 🔗错误捕获 🔗async 函数永远返回一个promise 如果没有指定返回值,则默认返回一个resolve promise, 相当于return Promise.resolve() 如果返回一个值
日常我们在vue开发的时候使用公共事件总线进行跨组建数据传递,这里我们自己封装一个事件总线,了解其背后的原理 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
没有找到相关文章
尝试调整搜索条件或查看其他标签