浏览器
李某龙
这个作者很懒,什么都没留下…
展开
-
浅谈V8引擎中的垃圾回收机制
垃圾回收机制如何判断是否可以回收1.1 标记清除当变量进入环境(例如,在函数中声明一个变量)时,就将这个变量标记为“进入环境”。从逻辑上讲,永远不能释放进入环境的变量所占用的内存,因为只要执行流进入相应的环境,就可能会用到它们。而当变量离开环境时,则将其标记为“离开环境”。可以使用任何方式来标记变量。比如,可以通过翻转某个特殊的位来记录一个变量何时进入环境,或者使用一个“进入环境的”变量列表及一个“离开环境的”变量列表来跟踪哪个变量发生了变化。如何标记变量并不重要,关键在于采取什么策略。原创 2020-11-05 16:33:50 · 6431 阅读 · 1 评论 -
浅析浏览器的Event Loop
前言众所周知 JS 是门非阻塞单线程语言,因为在最初 JS 就是为了和浏览器交互而诞生的。如果 JS 是门多线程语言的话,我们在多个线程中处理 DOM 就可能会发生问题(一个线程中新加节点,另一个线程中删除节点,这样的话浏览器就知不道要怎么操作了,到底是新增还是删除,很矛盾)。所以JS 就被设计成单线程语言,之前是这样,今后也是这样。Event LoopEvent Loop 是计算机系统的一种运行机制。想要理解 Event Loop,就要从程序的运行模式讲起。运行以后的程序叫做"进程"(p.原创 2020-10-28 09:33:36 · 6292 阅读 · 0 评论 -
Chrome 页面呈现原理与性能优化之企业级分享总结
背景前段时间梳理了一下浏览器相关的知识,还做了一个公司级的分享,60多人过来听了我的分享,感觉还行,哈哈。先看一下分享目录:本篇文章,如果直接贴ppt图,理解起来可能比较费劲,这里就大概讲一下内容,再附上我之前已经把部分内容输出了完整的文章的链接,方便大家结合ppt来理解,因此本文结合ppt食用效果更佳哦~PS:公众号后台回复数字:0052即可获取本次分享的完整ppt...转载 2020-03-16 09:36:27 · 6826 阅读 · 0 评论 -
微信浏览器禁止页面下拉查看网址(不影响页面内部scroll)
此类事件是手机touchmove默认事件行为,可以通过js代码隐藏事件:$(‘body’).on(‘touchmove’, function (event){ event.preventDefault();});document.addEventListener('touchmove', { function(e){ e.preventDefault...原创 2019-08-14 15:45:01 · 9494 阅读 · 0 评论 -
web 应用常见安全漏洞一览
1. SQL 注入 SQL 注入就是通过给 web 应用接口传入一些特殊字符,达到欺骗服务器执行恶意的 SQL 命令。SQL 注入漏洞属于后端的范畴,但前端也可做体验上的优化。原因当使用外部不可信任的数据作为参数进行数据库的增、删、改、查时,如果未对外部数据进行过滤,就会产生 SQL 注入漏洞。比如:name = "外部输入名称";sql = "select * fr...转载 2019-02-25 17:20:52 · 7829 阅读 · 1 评论 -
js监听浏览器离开页面操作
序言 大家是否经常遇到在关闭网页的时候,会看到一个确定是否离开当前页面的提示框?想一些在线测试系统、信息录入系统等就经常会有这一些提示,避免用户有意或者无意中关掉了页面,导致数据丢失。这里面的实现过程很简单,利用了HTML DOM事件中的onunload和onbeforeunload方法。unload 事件属性 定义:当用户卸载文档时执行一段 JavaScript,例如:<body on...原创 2018-07-05 09:37:18 · 12988 阅读 · 0 评论 -
JavaScript 调试常见报错以及原因
在程序开发中难免会遇到一些错误,在成千上万的代码中去寻找错误很明显相当于大海捞针,为此,每种计算机编程语言都要它独特的一套错误处理与调试机制。当然,JavaScript也不例外。但是,接触过javascript的人都知道,在调试js的过程中有时候真想砸电脑。因为在调试的过程中,控制台给出的错误非常难以理解,其次给出的行号不总有帮助。虽然很多时候都要靠经验去判断,但是控制台给出的错误提示也并不是一点...原创 2018-07-04 18:49:30 · 7174 阅读 · 0 评论 -
浏览器缓存机制详解
对于浏览器缓存,相信很多开发者对它真的是又爱又恨。一方面极大地提升了用户体验,而另一方面有时会因为读取了缓存而展示了“错误”的东西,而在开发过程中千方百计地想把缓存禁掉。那么浏览器缓存究竟是个什么样的神奇玩意呢?什么是浏览器缓存: 简单来说,浏览器缓存就是把一个已经请求过的Web资源(如html页面,图片,js,数据等)拷贝一份副本储存在浏览器中。缓存会根据进来的请求保存输出内容的副本...原创 2018-07-04 18:39:06 · 7436 阅读 · 0 评论 -
浏览器渲染原理及流程
我们可能都知道浏览器含有一个渲染引擎,用来渲染窗口所展示的内容。默认情况下,渲染引擎可以显示html、xml文档及图片,它也可以借助插件(一种浏览器扩展)显示其他类型数据,例如使用PDF阅读器插件,用于显示PDF格式。但是其具体的渲染原理和流程估计也有很多人都不知道或者不清楚吧。这些天研究了一下浏览器的渲染原理,有了些心得,在这里跟大家分享一下,这里只讨论渲染引擎最主要的用途——显示应用了CSS之...原创 2018-07-04 18:35:08 · 6973 阅读 · 0 评论 -
浏览器沙箱模型
简介 沙箱模型技术是浏览器和其他应用程序中保护安全的一种组件关系设计模式,最初发明人为GreenBorder公司。2007年5月,谷歌公司收购了该公司,也将此项专利应用于chrome浏览器的研发中。 背景 一般而言,对于网络上的网页中的JavaScript代码和插件都是不受信的(除非是经过认证的网站),特别是一些故意设计侵入浏览器运行的主机代码更是非常危险,通过一些手段或者浏览器中的漏洞,这些...原创 2018-07-04 18:33:24 · 7384 阅读 · 0 评论