在 CSS 中,选择器的性能与其复杂性和匹配方式有关。你提到的 body.card-main.toolbar 和 body.toolbar 都可以唯一确定.toolbar 元素,但它们的性能表现有所不同。以下是详细分析:1.选择器的匹配过程 CSS 选择器的匹配是从右到左进行的。浏览器会先找到匹配最右侧选择器的元素,然后再检查其祖先元素是否满足左侧的选择器条件。body.toolbar:找到所有.toolbar 元素。
1.CSS 权重的计算规则 CSS 权重由四个部分组成,格式为(a,b,c,d):a:内联样式(style="...")的数量。b:ID 选择器的数量。c:类选择器、属性选择器、伪类选择器的数量。d:元素选择器、伪元素选择器的数量。每个部分的权重值是累加的,优先级从左到右依次递减。2.分析选择器比如#layoutsdiv.layout__centerdiv.protyle-conten
//name 快速打开自定义功能//seehttps://ld246.com/article/1745488922117//version0.0.3.1//updateDesc0.0.3.1 增加 eruda 调试工具//updateDesc0.0.3 增加刷新页面,全屏,宽屏,断点调试,打开网页版等功能//updateDesc0.0.2 增加快捷键支持,把思源命令面板的命令移植过来//updateUrlhtt
从当前脚本中提取 name和 version获取该脚本的远程地址(即 <scriptsrc="remote.js">的地址)从远程地址获取远程版本号(假设远程 JS 文件开头也有注释定义)比较本地版本和远程版本如果远程版本更新,就提示用户是否需要更新 ✅ 总结:不需要下载新版本,只做提示。当前使用的脚本是本地引入的(例如:<scriptsrc="/local/your-script.js">),但这个 js
//调用示例//observeElement('.tooltip.tooltip--memo:not(.fn__none)',({element,mutationsList,stop})=>{//console.log([element?.outerHTML,mutationsList,stop]);//});asyncfunctionobserveElement(selector,callback
(()=>{consturls=['https://jsd.onmicrosoft.cn/gh/wish5115/my-softs@main/%E6%80%9D%E6%BA%90/snippets_new_version_checker_for_dev.js','https://cdn.jsdmirror.com/gh/wish5115/my-softs@main/%E6%80%9D%E6%BA%9
seehttps://ld246.com/article/1746153210116//添加块到指定数据库(支持绑定块和不绑定块,支持文档块和普通块)//seehttps://ld246.com/article/1746153210116//注意:只能在块菜单中操作(你的右键可能不是块菜单)//version0.0.3//0.0.2(已废弃)//0.0.3 修改参数配置方式(()=>{//块菜单配置 c
seehttps://ld246.com/article/1746079460404//给页面临时设置宽屏(暂不支持持久,即文档关闭或页面刷新后复原)//兼容编辑器宽度插件和思源自适应宽度,兼容标题宽度//seehttps://ld246.com/article/1746079460404//修改改自 https://ld246.com/article/1744597829665(()=>{//是否隐
备注自定义提示框 tooltip
seehttps://ld246.com/article/1745742440889//备注自定义提示框//seehttps://ld246.com/article/1745742440889(()=>{//这里设置提示框样式 consttooltipStyles=`max-width:400px;max-height:200px;font-size:16px;line-height:150%;`;/
seehttps://ld246.com/article/1745899596632require('@electron/remote/main').enable(window)const{BrowserWindow}=require('@electron/remote')constallWindows=BrowserWindow.getAllWindows()allWindows.forEach(
思源代码块自动缩进
seehttps://ld246.com/article/1745642027248 最近在 runjs 里写代码,发现代码块不支持自动缩进,很不方便。于是,让 deepseek 帮忙写了个。支持大多数常见语言,如果有未识别的语言,则与上一行的空白符位置对齐。代码//思源代码块自动缩进//seehttps://ld246.com/article/1745642027248//version0.0.2//0.0
see 最简单的方式,把这个代码放到 js 代码片段中//默认打开的文档 idvardocId='20250119002432-3oyyqp4';setTimeout(()=>window.open('siyuan://blocks/'+docId),1500);最好把它钉住,然后放到最左侧,然后设置一个 home 的图标,完美!如果默认打开今日日记,可以用下面的代码//在这里输入你想在哪个笔记本中打开今日日记
showFileInFolderfunctionshowFileInFolder(filePath){require('electron').ipcRenderer.send("siyuan-open-folder",filePath);}运行本地命令 functionrunCmd(command,callback){const{exec}=require('child_process');exec(
/*options={...options,showAction?:boolean,//当点击确定后不想关闭对话框时,可设置为 options.disableClose=true;即可 confirmCallback?:(options?:IObject)=>void}*///创建基础对话框,createDialog 基础上增加 content 容器和确定与取消按钮//当点击确定后不想关闭对话框时,可设置为 o
问题根源与解决方案原因分析单实例链式结构:openAny是全局单例,所有链式操作(包括 invoke内部)都通过_chain顺序执行。当在 invoke内调用 awaitopenAny.click()时,主链(_chain)会等待自身完成,形成循环依赖,导致后续操作无法执行。死锁机制:openAny.invoke(async()=>{awaitopenAny.click('button');
openAny 示例大全
ctrl+alt+x 只显示文字外观窗口一部分openAny.setKeymap('ctrl+alt+x',async(event,{newSetStyle})=>{constsetStyle=newSetStyle();//设置样式 setStyle(`.protyle-font>*:not(:nth-child(7),:nth-child(8)):not(:last-child){display:
给不同的页面设置不同的宽度和字号
seehttps://ld246.com/article/1744597829665//给不同的页面设置不同的风格(暂不支持持久,即文档关闭或页面刷新后复原)//兼容编辑器宽度插件和思源自适应宽度,兼容标题宽度//seehttps://ld246.com/article/1744597829665(()=>{//添加风格 conststyles={"📋":{tips:'正常',style:``},"🛢
functionselectText(targetText,container,parentElement){if(typeofparentElement==='string')parentElement=document.querySelector(parentElement);if(typeofcontainer==='string')container=(parentElement||docu
//搜索列表,鼠标中键在文档树中定位文档(()=>{document.addEventListener('mousedown',asyncfunction(event){//检查是否按下了鼠标中键 constisModifierKeyPressed=event.button===1&&!event.ctrlKey&&!event.metaKey&&!event.altKey&&!event.shift
//当文本选择结束事件//onSelectionEnd((selection)=>{//console.log(selection);//});functiononSelectionEnd(callback){letisMouseupListenerActive=false;//标志变量,用于跟踪是否已经绑定了 mouseup 事件 constmouseupHandler=(event)=>{//获取当前
记录精彩的程序人生
开始使用
分类
标签