当前位置:首页>PPT>为何大促时你的网页卡成PPT?揭秘DOM这颗前端性能与合规的“双刃剑”!

为何大促时你的网页卡成PPT?揭秘DOM这颗前端性能与合规的“双刃剑”!

  • 2026-06-23 16:18:27
为何大促时你的网页卡成PPT?揭秘DOM这颗前端性能与合规的“双刃剑”!

导言

夜深人静,你正守着限量款球鞋的发售页面,手指悬在鼠标上,心跳加速。“3、2、1……开抢!”你猛戳鼠标,页面却毫无反应,紧接着,整个屏幕卡成了定格动画,最终弹出一个冰冷的“库存不足”。这种让人血压飙升的体验,不仅吓跑了用户,更可能让企业瞬间损失惨重。

这种“卡成PPT”的现象,往往是因为前端在处理DOM时触发了浏览器的“性能警报”。作为天天和代码打交道的资深工程师,我太懂这种痛了。今天,我们就来扒一扒这个连接数据与界面的幕后黑手——DOM(文档对象模型)。看透它,你不仅能写出丝滑的代码,还能在等保测评中稳拿高分!


一、 拨开DOM的神秘面纱:网页的“活体解剖图” 🫀

(1)从“死”代码到“活”页面:DOM的本质揭秘

很多新手会混淆HTML和DOM,其实它们是“源文件”和“内存对象”的区别。当你写好HTML代码,把它扔给浏览器时,浏览器并不会直接把代码画在屏幕上。相反,它会像一位经验丰富的外科医生,对代码进行“解剖”,分析其中的标签、属性和文本,然后在内存中构建出一棵“树状结构”——这就是DOM树。

如果说HTML是你发给浏览器的“施工蓝图”,那么DOM就是浏览器根据蓝图建好的“毛坯房”。我们可以通过JavaScript去敲掉一面墙(删除节点),或者新盖一间屋(添加节点),最终呈现出动态的网页效果。

(2)DOM的“家谱”:节点、元素与文本

在这棵DOM树上,有着严密的家族关系。最顶层是“文档节点”(Document),它是整棵树的根。往下分叉,会有“元素节点”(比如 <div><p>)、“属性节点”(比如 class="red")和“文本节点”(比如“点击我”)。

作为开发者,我们最常打交道的就是“元素节点”。它们之间存在着清晰的层级关系:包裹在外面的叫“父节点”,同级并列的叫“兄弟节点”,里面嵌套的叫“子节点”。理解了这套家谱关系,你就能明白为什么 parentNode能把你带到上一层,而 children能让你看到所有的直系后代。

二、 刀尖舔血的日常:DOM操作为何是前端性能的“头号杀手”? ⚔️

(1)“回流”与“重绘”:浏览器渲染的不可承受之重

为什么老一辈工程师总是警告“千万别频繁操作DOM”?这就要提到浏览器的两套核心工作机制:回流(Reflow)重绘(Repaint)

简单来说,当你的DOM操作改变了元素的几何属性(比如宽高、位置),浏览器就必须重新计算所有元素的位置,这叫“回流”,开销极大;如果只是改了个颜色,浏览器只需要重新画一下画面,这叫“重绘”,开销相对较小。

频繁地增删改查DOM,就相当于在浏览器忙着画图时不停地扯它的桌子,导致它被迫反复进行大规模的“回流”。结果就是主线程被阻塞,页面掉帧、卡顿,甚至失去响应。

(2)进阶建议:批量修改与“脱离文档流”的救赎

为了避免成为“卡顿制造者”,我们在操作DOM时必须讲究策略。如果你需要连续插入10个列表项,千万不要写个循环一次次 appendChild,这会触发10次回流!

进阶建议:利用“离线操作”的思路。你可以先创建一个 DocumentFragment(文档碎片),把它当成一个看不见的“临时容器”,在里面把10个列表项组装好,最后一次性把这个容器塞进真正的DOM树里。这样,浏览器只会进行一次回流。

另一个技巧是“障眼法”:如果你要操作的元素当前不需要显示,可以先把它设为 display: none(这会使其脱离文档流,此时操作它不会引发全局回流),等所有操作完成后,再把它恢复显示。这在处理复杂大数据渲染时是屡试不爽的保命技能。

三、 政策与安全的红线:等保2.0如何捏住DOM的“七寸”? 🛡️

(1)DOM型XSS:等保测评中的“隐形刺客”

在安全领域,DOM不仅是性能的瓶颈,更是攻击的重灾区。在等保 2.0(GB/T 22239-2019)的“安全计算环境”要求中,明确规定了应用系统必须具备“数据完整性和防篡改机制”。而DOM型XSS(跨站脚本攻击)正是头号违规项。

想象一下,如果你的网页有一个搜索框,用户输入的内容通过JavaScript直接被拼接进DOM并显示出来。恶意攻击者会输入一段精心构造的 <script>代码。当你的代码毫无防备地执行 element.innerHTML = userInput时,攻击者的脚本就会在你的网页里生根发芽。它可以窃取用户的登录态(Cookie),篡改页面内容,甚至将用户重定向到钓鱼网站。在等保专家的渗透测试下,这种低级错误无疑是“送人头”。

(2)进阶建议:CSP与DOMPurify构筑防线的“双保险”

面对严峻的安全形势,仅靠转义特殊字符已经不够了。我们需要在DOM层面建立立体的防御体系。

进阶建议:首先,在服务器端配置严格的 内容安全策略(CSP)。通过 HTTP 响应头 Content-Security-Policy,你可以像设置白名单一样,精确控制浏览器允许加载哪些资源、是否允许执行内联脚本。这能从根源上阻断恶意脚本的执行。

其次,在前端代码中,坚决摒弃危险的 innerHTML,改用 textContent。如果必须使用 HTML 渲染(比如富文本编辑器),务必引入如 DOMPurify这样的专业消毒库,对用户输入进行严格的过滤和清理,确保只有安全的 HTML 标签和属性能被插入到 DOM 中。

四、 现代框架的降维打击:虚拟DOM与双向绑定 🚀

(1)从“手动挡”到“自动挡”:React/Vue的底层革命

既然原生DOM操作这么容易踩坑,为什么现在的程序员还能愉快地写代码?答案在于现代前端框架(如 Vue 和 React)进行的“降维打击”——引入了虚拟DOM(Virtual DOM)

你可以把原生DOM操作想象成用汇编写程序,每一行代码都直接跟硬件打交道,极其繁琐且容易出错。而虚拟DOM则是在真实DOM之上加了一层“抽象层”。它用普通的JS对象来模拟真实的DOM节点。当你修改数据时,框架会在内存中构建一棵新的虚拟DOM树,然后通过高效的 Diff 算法 与上一次的树进行对比,找出最小差异,最后批量、精准地去修改真实的 DOM。这种“减少直接接触、批量处理”的思想,是对传统 JS 操作模式的降维打击,不仅避免了频繁的回流,也让开发者的心智负担降至最低。

(2)进阶建议:合理使用key属性与避免v-if的滥用

虽然框架帮我们做了很多优化,但如果使用不当,依然会引发性能灾难。

进阶建议:在渲染列表时,一定要给每个节点设置一个稳定且唯一的 key属性。这就像是给DOM节点发了个“身份证”,帮助Diff算法快速识别出哪些节点被移动、添加或删除,从而避免错误的原地复用,将对比复杂度从 O(n^3) 降低到 O(n)。

另外,在Vue开发中,要谨慎使用 v-if。因为 v-if的本质是销毁和重建DOM节点,开销极大。如果是频繁切换显示隐藏的场景,改用 v-show(仅切换CSS的 display属性)会聪明得多。这些细节处的雕琢,决定了一个前端工程师是“及格”还是“资深”。


参考文献

[1] 万维网联盟. DOM 标准 [EB/OL]. (2023-01-01)[2024-06-01]. https://dom.spec.whatwg.org/.

[2] 国家市场监督管理总局, 中国国家标准化管理委员会. GB/T 22239-2019 信息安全技术 网络安全等级保护基本要求[S]. 2019-05-10.

[3] 张明远, 刘伟. Web前端脚本语言演进与工程化实践[J]. 计算机应用与软件, 2023, 40(5): 12-18.

[4] MDN Web Docs. 事件参考[EB/OL]. (2024-03-15)[2024-06-01]. https://developer.mozilla.org/zh-CN/docs/Web/Events.

结束语

万丈高楼平地起。DOM 的江湖看似波诡云谲,但本质上不过是节点间的增删改查。只有深刻理解它的脾气与边界,在保证合规安全的前提下不断打磨底层算法,才能真正写出既优雅又坚不可摧的企业级应用。

互动话题

你们团队目前在前端工程化中,是如何处理 DOM 安全和性能优化的?有没有踩过第三方脚本搞破坏的坑?欢迎在评论区留言分享你的“排雷”经验!我们将抽取 3 位走心读者,免费送出《2024企业级全栈开发与等保合规实战白皮书》。下期我们将深入探讨“JS 事件循环(Event Loop)的底层机制”,看看这片隐秘的角落如何影响你的页面流畅度,记得锁定我们的更新!

最新文章

随机文章

基本 文件 流程 错误 SQL 调试
  1. 请求信息 : 2026-06-24 19:19:37 HTTP/2.0 GET : https://h.sjds.net/a/534729.html
  2. 运行时间 : 0.102094s [ 吞吐率:9.79req/s ] 内存消耗:4,243.34kb 文件加载:140
  3. 缓存信息 : 0 reads,0 writes
  4. 会话信息 : SESSION_ID=5d6c2ff8e5ee41042624df914556dca6
  1. /yingpanguazai/ssd/ssd1/www/h.sjds.net/public/index.php ( 0.79 KB )
  2. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/autoload.php ( 0.17 KB )
  3. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_real.php ( 2.49 KB )
  4. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/platform_check.php ( 0.90 KB )
  5. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/ClassLoader.php ( 14.03 KB )
  6. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/composer/autoload_static.php ( 4.90 KB )
  7. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper.php ( 8.34 KB )
  8. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/helper.php ( 2.19 KB )
  9. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/helper.php ( 1.47 KB )
  10. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/stubs/load_stubs.php ( 0.16 KB )
  11. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Exception.php ( 1.69 KB )
  12. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Facade.php ( 2.71 KB )
  13. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/deprecation-contracts/function.php ( 0.99 KB )
  14. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap.php ( 8.26 KB )
  15. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/polyfill-mbstring/bootstrap80.php ( 9.78 KB )
  16. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/Resources/functions/dump.php ( 1.49 KB )
  17. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-dumper/src/helper.php ( 0.18 KB )
  18. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/symfony/var-dumper/VarDumper.php ( 4.30 KB )
  19. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/App.php ( 15.30 KB )
  20. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-container/src/Container.php ( 15.76 KB )
  21. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/container/src/ContainerInterface.php ( 1.02 KB )
  22. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/provider.php ( 0.19 KB )
  23. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Http.php ( 6.04 KB )
  24. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Str.php ( 7.29 KB )
  25. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Env.php ( 4.68 KB )
  26. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/common.php ( 0.03 KB )
  27. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/helper.php ( 18.78 KB )
  28. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Config.php ( 5.54 KB )
  29. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/app.php ( 0.95 KB )
  30. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cache.php ( 0.78 KB )
  31. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/console.php ( 0.23 KB )
  32. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/cookie.php ( 0.56 KB )
  33. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/database.php ( 2.48 KB )
  34. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Env.php ( 1.67 KB )
  35. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/filesystem.php ( 0.61 KB )
  36. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/lang.php ( 0.91 KB )
  37. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/log.php ( 1.35 KB )
  38. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/middleware.php ( 0.19 KB )
  39. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/route.php ( 1.89 KB )
  40. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/session.php ( 0.57 KB )
  41. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/trace.php ( 0.34 KB )
  42. /yingpanguazai/ssd/ssd1/www/h.sjds.net/config/view.php ( 0.82 KB )
  43. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/event.php ( 0.25 KB )
  44. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Event.php ( 7.67 KB )
  45. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/service.php ( 0.13 KB )
  46. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/AppService.php ( 0.26 KB )
  47. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Service.php ( 1.64 KB )
  48. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Lang.php ( 7.35 KB )
  49. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/lang/zh-cn.php ( 13.70 KB )
  50. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/Error.php ( 3.31 KB )
  51. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/RegisterService.php ( 1.33 KB )
  52. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/services.php ( 0.14 KB )
  53. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/PaginatorService.php ( 1.52 KB )
  54. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ValidateService.php ( 0.99 KB )
  55. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/service/ModelService.php ( 2.04 KB )
  56. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Service.php ( 0.77 KB )
  57. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Middleware.php ( 6.72 KB )
  58. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/initializer/BootService.php ( 0.77 KB )
  59. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Paginator.php ( 11.86 KB )
  60. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-validate/src/Validate.php ( 63.20 KB )
  61. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/Model.php ( 23.55 KB )
  62. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Attribute.php ( 21.05 KB )
  63. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/AutoWriteData.php ( 4.21 KB )
  64. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/Conversion.php ( 6.44 KB )
  65. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/DbConnect.php ( 5.16 KB )
  66. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/ModelEvent.php ( 2.33 KB )
  67. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/concern/RelationShip.php ( 28.29 KB )
  68. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Arrayable.php ( 0.09 KB )
  69. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/contract/Jsonable.php ( 0.13 KB )
  70. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/model/contract/Modelable.php ( 0.09 KB )
  71. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Db.php ( 2.88 KB )
  72. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/DbManager.php ( 8.52 KB )
  73. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Log.php ( 6.28 KB )
  74. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Manager.php ( 3.92 KB )
  75. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerTrait.php ( 2.69 KB )
  76. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/log/src/LoggerInterface.php ( 2.71 KB )
  77. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cache.php ( 4.92 KB )
  78. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/psr/simple-cache/src/CacheInterface.php ( 4.71 KB )
  79. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/helper/Arr.php ( 16.63 KB )
  80. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/driver/File.php ( 7.84 KB )
  81. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/cache/Driver.php ( 9.03 KB )
  82. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/CacheHandlerInterface.php ( 1.99 KB )
  83. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/Request.php ( 0.09 KB )
  84. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Request.php ( 55.78 KB )
  85. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/middleware.php ( 0.25 KB )
  86. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Pipeline.php ( 2.61 KB )
  87. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/TraceDebug.php ( 3.40 KB )
  88. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/middleware/SessionInit.php ( 1.94 KB )
  89. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Session.php ( 1.80 KB )
  90. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/driver/File.php ( 6.27 KB )
  91. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/SessionHandlerInterface.php ( 0.87 KB )
  92. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/session/Store.php ( 7.12 KB )
  93. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Route.php ( 23.73 KB )
  94. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleName.php ( 5.75 KB )
  95. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Domain.php ( 2.53 KB )
  96. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleGroup.php ( 22.43 KB )
  97. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Rule.php ( 26.95 KB )
  98. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/RuleItem.php ( 9.78 KB )
  99. /yingpanguazai/ssd/ssd1/www/h.sjds.net/route/app.php ( 1.72 KB )
  100. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/Route.php ( 4.70 KB )
  101. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/dispatch/Controller.php ( 4.74 KB )
  102. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/route/Dispatch.php ( 10.44 KB )
  103. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/controller/Index.php ( 4.81 KB )
  104. /yingpanguazai/ssd/ssd1/www/h.sjds.net/app/BaseController.php ( 2.05 KB )
  105. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/facade/Db.php ( 0.93 KB )
  106. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/connector/Mysql.php ( 5.44 KB )
  107. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/PDOConnection.php ( 52.47 KB )
  108. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Connection.php ( 8.39 KB )
  109. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/ConnectionInterface.php ( 4.57 KB )
  110. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/builder/Mysql.php ( 16.58 KB )
  111. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Builder.php ( 24.06 KB )
  112. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseBuilder.php ( 27.50 KB )
  113. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/Query.php ( 15.71 KB )
  114. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/BaseQuery.php ( 45.13 KB )
  115. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TimeFieldQuery.php ( 7.43 KB )
  116. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/AggregateQuery.php ( 3.26 KB )
  117. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ModelRelationQuery.php ( 20.07 KB )
  118. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ParamsBind.php ( 3.66 KB )
  119. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/ResultOperation.php ( 7.01 KB )
  120. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/WhereQuery.php ( 19.37 KB )
  121. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/JoinAndViewQuery.php ( 7.11 KB )
  122. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/TableFieldInfo.php ( 2.63 KB )
  123. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-orm/src/db/concern/Transaction.php ( 2.77 KB )
  124. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/driver/File.php ( 5.96 KB )
  125. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/LogHandlerInterface.php ( 0.86 KB )
  126. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/log/Channel.php ( 3.89 KB )
  127. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/event/LogRecord.php ( 1.02 KB )
  128. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-helper/src/Collection.php ( 16.47 KB )
  129. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/facade/View.php ( 1.70 KB )
  130. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/View.php ( 4.39 KB )
  131. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Response.php ( 8.81 KB )
  132. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/response/View.php ( 3.29 KB )
  133. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/Cookie.php ( 6.06 KB )
  134. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-view/src/Think.php ( 8.38 KB )
  135. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/framework/src/think/contract/TemplateHandlerInterface.php ( 1.60 KB )
  136. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/Template.php ( 46.61 KB )
  137. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/driver/File.php ( 2.41 KB )
  138. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-template/src/template/contract/DriverInterface.php ( 0.86 KB )
  139. /yingpanguazai/ssd/ssd1/www/h.sjds.net/runtime/temp/ad153693ed39fba6d1bda2fe72512cde.php ( 12.06 KB )
  140. /yingpanguazai/ssd/ssd1/www/h.sjds.net/vendor/topthink/think-trace/src/Html.php ( 4.42 KB )
  1. CONNECT:[ UseTime:0.000504s ] mysql:host=127.0.0.1;port=3306;dbname=h_sjds;charset=utf8mb4
  2. SHOW FULL COLUMNS FROM `fenlei` [ RunTime:0.000574s ]
  3. SELECT * FROM `fenlei` WHERE `fid` = 0 [ RunTime:0.000291s ]
  4. SELECT * FROM `fenlei` WHERE `fid` = 63 [ RunTime:0.000877s ]
  5. SHOW FULL COLUMNS FROM `set` [ RunTime:0.000581s ]
  6. SELECT * FROM `set` [ RunTime:0.000422s ]
  7. SHOW FULL COLUMNS FROM `article` [ RunTime:0.000697s ]
  8. SELECT * FROM `article` WHERE `id` = 534729 LIMIT 1 [ RunTime:0.002833s ]
  9. UPDATE `article` SET `lasttime` = 1782299977 WHERE `id` = 534729 [ RunTime:0.000805s ]
  10. SELECT * FROM `fenlei` WHERE `id` = 64 LIMIT 1 [ RunTime:0.000389s ]
  11. SELECT * FROM `article` WHERE `id` < 534729 ORDER BY `id` DESC LIMIT 1 [ RunTime:0.003437s ]
  12. SELECT * FROM `article` WHERE `id` > 534729 ORDER BY `id` ASC LIMIT 1 [ RunTime:0.001397s ]
  13. SELECT * FROM `article` WHERE `id` < 534729 ORDER BY `id` DESC LIMIT 10 [ RunTime:0.003652s ]
  14. SELECT * FROM `article` WHERE `id` < 534729 ORDER BY `id` DESC LIMIT 10,10 [ RunTime:0.002173s ]
  15. SELECT * FROM `article` WHERE `id` < 534729 ORDER BY `id` DESC LIMIT 20,10 [ RunTime:0.005095s ]
0.103751s