笔记
0 篇文章
选择器:scope 在 CSS 选择器中,:scope是一个伪类(pseudo-class),用于表示当前元素的作用域。它的作用是限制选择器的范围,使其相对于某个特定的上下文(通常是某个 DOM 元素)进行匹配。什么是:scope?:scope表示当前上下文中的“根元素”。在 querySelector或 querySelectorAll中使用时,:scope通常指代调用方法的那个 DOM 元素本身
纯 JavaScript 实现 AES 加密如果你既不想使用 crypto.subtle也不愿意使用第三方库,那么你需要自己编写加密和解密的逻辑。这通常涉及使用纯 JavaScript 实现加密算法。虽然这种方法不如使用标准库或第三方库安全和高效,但对于简单的场景可能足够使用。使用纯 JavaScript 实现 AES 加密 AES 加密算法相对复杂,但我们可以尝试使用一些纯 JavaScript 的方法来实现一个简单的加密和
除了 load 和 DOMContentLoaded 还有哪些方法可以判断页面加载完成除了 window.addEventListener("load")和 document.addEventListener('DOMContentLoaded')之外,还有其他方法可以判断页面加载完成。以下是一些常见的方法:使用readystatechange事件:readystatechange事件会在文档的读
统计工作时长方案 1 是的,你可以利用 requestIdleCallback 实现一个工作时长统计功能,记录用户在页面上的活动时间。requestIdleCallback 可以在浏览器空闲时执行任务,因此非常适合用于记录用户在页面上的活动时间。实现思路记录开始时间:当用户进入页面时,记录当前时间作为开始时间。使用 requestIdleCallback:在浏览器空闲时更新工作时长。计算工作时长:每次更新时,计
防抖和节流在 JavaScript 中,防抖(debounce)和节流(throttle)是两种常见的函数执行优化策略,通常用于处理高频触发的事件,如窗口的 resize 或 scroll 事件等,以提高性能和用户体验。防抖(Debounce)防抖是指将一段时间内多次触发的事件合并为一次执行。当最后一次触发事件后的一段时间内没有再次触发,则执行该事件处理函数。如果在这段时间内又有新的触发,则重新计算延迟时间。即
nodejs 二次验证库 https://www.npmjs.com/package/otpauth/v/8.0.1
懒加载代码我们可以创建一个函数 createLazyLoader,该函数接受一个标识符(例如 VConsoleLoader),以及一个回调函数(即实际要执行的代码)。这个函数将返回一个懒加载的占位符函数,可以用于任何需要懒加载的场景。以下是你的代码的完整示例:functioncreateLazyLoader(identifier,callback){//使用闭包来保存状态 letisLoaded=fa
js 动态调用函数在闭包中,如果 onFinished和 sayHello是闭包内的局部函数,而不是全局函数或对象方法,那么直接通过函数名(字符串)调用会变得复杂,因为闭包内的函数无法通过 window或全局对象访问。以下是几种在闭包中实现动态调用函数的方法:1.使用函数映射(推荐)在闭包中维护一个函数映射表(对象),将函数名与函数本身关联起来。functioncreateClosure(){//闭包
手机端调试方案
手机端调试方案 seehttps://ld246.com/article/1734937500032 手机开启伺服模式,在电脑上用 devtools 移动端模拟器调试(推荐)https://github.com/Tencent/vConsole 或国内访问 https://gitee.com/Tencent/vConsole 如果是 webview 本身的问题,可以用自带浏览器调试,可参考 https://juejin
mouseover 防误碰在 JavaScript 中,处理 mouseover事件时,如果需要防止误触发(例如,用户快速移动鼠标或无意间触发),可以采取几种策略来优化用户体验。使用 setTimeout来延迟执行 mouseover的回调函数。如果用户在指定的时间内没有保持鼠标不动,则不会触发事件。lettimeoutId;element.addEventListener('mouseover',fun
判断元素是滚动时动态加载判断元素是否是在滚动时动态加载出来的,通常需要结合以下两种方法:监听滚动事件:检测用户是否触发了滚动行为。观察元素是否进入视口:使用 IntersectionObserver或手动计算元素位置,判断元素是否出现在可视区域内。以下是具体的实现方法:方法 1:使用 IntersectionObserver(推荐)IntersectionObserver是浏览器提供的 API,用于
nodejs 运行脚本//调用函数示例//runScript(['/bin/bash','/data/demo.sh'],'192.168.1.100','8080');//runScript('python','/data/demo.py','192.168.1.100','8080','arg3','arg4','arg5');//runScript('php','/data/demo.php',
js 不使用包裹元素的情况下将字符串转换为 HTML 元素对象在 JavaScript 中,如果你想直接将一个字符串转换为 HTML 元素对象,而不使用额外的包裹元素(如 div),可以使用 DOMParserAPI。DOMParser可以将字符串解析为 DOM 文档,然后你可以从中提取所需的元素。以下是实现代码:constbuttonString=`<spandata-height="0"data-width="
动态加载 jsfunctionloadScript(src,callback){constscript=document.createElement('script');script.src=src;script.type='text/javascript';//加载成功后的回调 script.onload=()=>{console.log(` 脚本加载成功:${src}`);if(callback)ca
nodejs 以 app 模式启动 chromeconst{spawn}=require('child_process');//根据你的操作系统更改下面的路径 constchromePath=process.platform==='darwin'///Applications/MicrosoftEdge.app/Contents/MacOS/MicrosoftEdge?'/Applications/Googl
时间延迟与用户感受之间的关系
时间延迟与用户感受之间的关系根据谷歌统计的数据,用户在不同时间段内接收到的反馈,可能直接影响到对于网站的用户留存,如下图:
js 加密和解密 window.crypto.subtle(也称为 crypto.subtle)提供了加密和解密字符串的能力,但请注意,它是一个低级别的 API,需要你自己处理密钥管理、编码转换等工作。下面是一个简单的例子,展示如何使用 AES-GCM 模式来加密和解密字符串。这里实现这样的效果 functionencrypt(key='string',data='string');functiondecrypt
动态添加 js 标签在 JavaScript 中,你可以动态地创建一个 <script>标签并将其添加到文档中,以便在页面加载后动态加载外部 JavaScript 文件或执行内联 JavaScript 代码。以下是如何实现这一操作的示例:1.动态加载外部 JavaScript 文件//创建一个新的 script 元素 varscript=document.createElement('script');//设置 script 的
动态加载 vConsole//动态加载 vConsole(functionloadVConsole(){constscript=document.createElement('script');script.src='https://unpkg.com/vconsole@latest/dist/vconsole.min.js';//script.src='file://../vconsole.js';s
记录精彩的程序人生
开始使用
分类
标签