2025 年 04 月 0 篇文章

数据库使用场景

seehttps://ld246.com/article/1744171314503 数据库功能简介数据库功能有什么使用场景吗?任务管理数据库模版分享思源笔记数据库使用新思路:谈自上而下管理与自下而上积累基于思源笔记的数据库使用分享(附模板)突然发现数据库可以完全替代 Todo!太棒了!将反向链接和数据库结合的尝试大家平时是如何使用数据库的?数据库使用新方法-任务时间追踪‍

根据paths展开文件夹

//根据 paths 展开文件夹 functionexpandFolderByPaths(paths,box){//遍历 paths 并展开对应的文件夹 paths.forEach(asyncpath=>{//将路径按/分割,获取每个层级的 node-idconstparts=path.split('/');constfolderIds=parts.slice(1,-1);//最后一个是文件,不需要展开//逐层查

上传文件到链滴图床

asyncfunctiongetFile(path){returnfetch("/api/file/getFile",{method:"POST",headers:{"Content-Type":"application/json",},body:JSON.stringify({path,}),}).then((response)=>{if(response.ok){//返回 Blob 对象而不是文本 r

RunJS使用示例

//democonsole.log(siyuan);console.log(plugin);console.log(client);console.log(thisBlock);asyncfunctionmain(){constresponse=awaitclient.pushMsg({msg:"Thisisanotificationmessage",timeout:7000,});console.

纯 JavaScript 实现 AES 加密

纯 JavaScript 实现 AES 加密如果你既不想使用 crypto.subtle​也不愿意使用第三方库,那么你需要自己编写加密和解密的逻辑。这通常涉及使用纯 JavaScript 实现加密算法。虽然这种方法不如使用标准库或第三方库安全和高效,但对于简单的场景可能足够使用。使用纯 JavaScript 实现 AES 加密 AES 加密算法相对复杂,但我们可以尝试使用一些纯 JavaScript 的方法来实现一个简单的加密和

统计工作时长

统计工作时长方案 1 是的,你可以利用 requestIdleCallback 实现一个工作时长统计功能,记录用户在页面上的活动时间。requestIdleCallback 可以在浏览器空闲时执行任务,因此非常适合用于记录用户在页面上的活动时间。实现思路记录开始时间:当用户进入页面时,记录当前时间作为开始时间。使用 requestIdleCallback:在浏览器空闲时更新工作时长。计算工作时长:每次更新时,计

选择器scope

选择器:scope 在 CSS 选择器中,:scope​是一个伪类(pseudo-class),用于表示当前元素的作用域。它的作用是限制选择器的范围,使其相对于某个特定的上下文(通常是某个 DOM 元素)进行匹配。什么是​:scope​​?​:scope​表示当前上下文中的“根元素”。在 querySelector​或 querySelectorAll​中使用时,:scope​通常指代调用方法的那个 DOM 元素本身

防抖和节流

防抖和节流在 JavaScript 中,防抖(debounce)和节流(throttle)是两种常见的函数执行优化策略,通常用于处理高频触发的事件,如窗口的 resize 或 scroll 事件等,以提高性能和用户体验。防抖(Debounce)防抖是指将一段时间内多次触发的事件合并为一次执行。当最后一次触发事件后的一段时间内没有再次触发,则执行该事件处理函数。如果在这段时间内又有新的触发,则重新计算延迟时间。即

除了load和DOMContentLoaded还有哪些方法可以判断页面加载完成

除了 load 和 DOMContentLoaded 还有哪些方法可以判断页面加载完成除了 window.addEventListener("load")​和 document.addEventListener('DOMContentLoaded')​之外,还有其他方法可以判断页面加载完成。以下是一些常见的方法:使用​readystatechange​​事件:​readystatechange​事件会在文档的读

js不使用包裹元素的情况下将字符串转换为 HTML 元素对象

js 不使用包裹元素的情况下将字符串转换为 HTML 元素对象在 JavaScript 中,如果你想直接将一个字符串转换为 HTML 元素对象,而不使用额外的包裹元素(如 div​),可以使用 DOMParser​API。DOMParser​可以将字符串解析为 DOM 文档,然后你可以从中提取所需的元素。以下是实现代码:constbuttonString=`<spandata-height="0"data-width="

js加密和解密

js 加密和解密 window.crypto.subtle(也称为 crypto.subtle)提供了加密和解密字符串的能力,但请注意,它是一个低级别的 API,需要你自己处理密钥管理、编码转换等工作。下面是一个简单的例子,展示如何使用 AES-GCM 模式来加密和解密字符串。这里实现这样的效果 functionencrypt(key='string',data='string');functiondecrypt

js动态调用函数

js 动态调用函数在闭包中,如果 onFinished​和 sayHello​是闭包内的局部函数,而不是全局函数或对象方法,那么直接通过函数名(字符串)调用会变得复杂,因为闭包内的函数无法通过 window​或全局对象访问。以下是几种在闭包中实现动态调用函数的方法:1.使用函数映射(推荐)在闭包中维护一个函数映射表(对象),将函数名与函数本身关联起来。functioncreateClosure(){//闭包

js模拟Prompt 对话框

js模拟Prompt 对话框
js 模拟 Prompt 对话框效果​​<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><title> 自定义 Prompt 对话框 </title><style></style></head><body><script>//样式变量 constdialogStyleText=`.prompt-dialog{display:none;position:

js深拷贝

js 深拷贝在 JavaScript 中,深拷贝(deepcopy)是指创建一个对象的副本,使得副本中的所有属性和嵌套对象都是独立于原始对象的新实例。这意味着修改副本不会影响原始对象,反之亦然。由于 JavaScript 中的对象是引用类型,默认情况下赋值或浅拷贝只会复制引用而不是实际的数据结构,因此我们需要特别处理以实现深拷贝。以下是几种常见的实现深拷贝的方法:1.使用 JSON.parse 和 JSON.str

js的同步加载

js 的同步加载在浏览器环境中,动态加载脚本(如通过 document.createElement('script')​)是异步的,无法直接改为同步执行。这是因为浏览器的设计决定了脚本加载必须是异步的,以避免阻塞页面渲染和其他操作。不过,如果你需要实现类似“同步加载”的效果,可以通过以下方法模拟:方法 1:使用 async:false​的 XMLHttpRequest​或 fetch​通过 XMLHttpRequ

js简单拖动div示例

js 简单拖动 div 示例 <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"content="width=device-width,initial-scale=1.0"><title> 简单拖动示例 </title><style>.container{border:1pxsolid#000;width:20

mouseover防误碰

mouseover 防误碰在 JavaScript 中,处理 mouseover​事件时,如果需要防止误触发(例如,用户快速移动鼠标或无意间触发),可以采取几种策略来优化用户体验。使用 setTimeout​来延迟执行 mouseover​的回调函数。如果用户在指定的时间内没有保持鼠标不动,则不会触发事件。lettimeoutId;element.addEventListener('mouseover',fun

nodejs以app模式启动chrome

nodejs 以 app 模式启动 chromeconst{spawn}=require('child_process');//根据你的操作系统更改下面的路径 constchromePath=process.platform==='darwin'///Applications/MicrosoftEdge.app/Contents/MacOS/MicrosoftEdge?'/Applications/Googl