浏览器事件循环event loop-编程思维
引言: 事件循环不是浏览器独有的,从字面上看,“循环”可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个问题是,处理的是什么事件,事件的相关信息从哪里获取。 因为我没有用nodejs做过什么项目,所以这里我暂且只关注浏览器的事件循环,但我想就“事件循环”本身而言,原理应该是相同的,不过就具体的实现可能存在一些差异。 一道
morethink program
引言: 事件循环不是浏览器独有的,从字面上看,“循环”可以简单地认为就是重复,比如for循环,就是重复地执行for循环体中的语句,所以事件循环,可以理解为重复地处理事件,那么下一个问题是,处理的是什么事件,事件的相关信息从哪里获取。 因为我没有用nodejs做过什么项目,所以这里我暂且只关注浏览器的事件循环,但我想就“事件循环”本身而言,原理应该是相同的,不过就具体的实现可能存在一些差异。 一道
<script src="js/feature.js"></script> if (feature.webGL) { console.log("你的浏览器支持WebGL"); } else { console.log("你的浏览器不支持WebGL"); } 下面是Feature.js可进行的浏览器检测的特性列表。 feature.async fea
记录一下哪些声称完全自主创新的国产软件,而实际上是开源软件换皮的伪创新软件汇总 All In One 中国开源届的耻辱, 开源贡献者耻辱 红芯浏览器 CEC IDE 红心 浏览器 chromium https://www.chromium.org/chromium-projects/ 红芯国产浏览器 https://browser.redcore.cn/ 2018年8月15日,红芯
window.print() print() 方法用于打印当前窗口的内容。谷歌调用 print() 方法会产生一个打印预览弹框,让用户可以设置打印请求。 但谷歌貌似不能自定义设置页眉页脚的文字;ie和火狐可以,如下所示 火狐:菜单-->打印 ie:文件-->打印预览,样子和上面差不多 使用或编辑打印样式的几种方式: 引入样式表 <link href="/path/prin
1. Service Worker的身份 Service的意思是服务,Worker的意思是工人,那么Service Worker的意思就是服务员。这个员工是2014年6月HTML5新招的实习生,目前在试用中。在此之前,已经有一位老员工,它叫Web Worker。那么问题来了,Boss是谁?Boss就是浏览器。准确来说,每个页面的javascript运行主线程都是一个Boss。 这里先
看到这个标题大家一定会想到这篇神文《How Browsers Work》,这篇文章把浏览器的很多细节讲得很细,而且也被翻译成了中文。为什么我还想写一篇呢?因为两个原因, 这篇文章太长了,阅读成本太大,不能一口气读完。 花了大力气读了这篇文章后可以了解很多,但似乎对工作没什么帮助。 所以,我准备写下这篇文章来解决上述两个问题。希望你能在上班途中,或是坐马桶时就能读完,并能从中
作者:京东科技 孙凯 一、前言 对前端开发者来说,Vite 应该不算陌生了,它是一款基于 nobundle 和 bundleless 思想诞生的前端开发与构建工具,官网对它的概括和期待只有一句话:“下一代的前端工具链”。 Vite 最早的版本由尤雨溪发布于3年前,经历了3年多的发展,Vite 也已逐渐迭代成熟,它的稳定性、扩展性、周边生态足以在生产环境中支撑各种业务场景的落地。但是关于Vite
也许每一个男子全都有过这样的两个女人,至少两个。娶了红玫瑰,久而久之,红的变了墙上的一抹蚊子血,白的还是床前明月光;娶了白玫瑰,白的便是衣服上沾的一粒饭黏子,红的却是心口上一颗朱砂痣。--张爱玲《红玫瑰与白玫瑰》 Selenium一直都是Python开源自动化浏览器工具的王者,但这两年微软开源的PlayWright异军突起,后来者居上,隐隐然有撼动Selenium江湖地位之势,本次我们来对比
最早的时候有一个浏览器叫NCSA Mosaic,把自己标称为NCSA_Mosaic/2.0 (Windows 3.1),它支持文字显示的同时还支持图片,于是Web开始好玩起来。 然后出现了一个新的网页浏览器,“Mozilla”,其实就是“Mosaic终结者”的意思,这搞的Mosaic很不爽,(毕竟Mosaic出道早,江湖老),新浏览器最后正式公布的名称是Netscape,它把自己标称
在学习过程中碰见这样一个方法(原生JavaScript可使用的方法): document.querySelector('div').innerHTML=` <h2>编号:${resp.id} </h2> <h2>标题:${resp.title}</h2> ` ` 这个方法提醒了我,我想知道document自带的
引言观察浏览器的任务管理器可以发现,打开浏览器的一个页面需要多个进程,包括浏览器进程、GPU 进程、网络进程、渲染进程等,有插件的话还会包括各种插件进程(Chrome 选项 -> 更多工具 -> 任务管理器)。本文将聚焦于浏览器的各个进程间是如何配合,将页面呈现给用户的。📌 你将了解到浏览器在历史发展过程中,其进程架构做了哪些调整,为什么这样调整,以及解决了哪些问题?从用户在地址栏输入
跨域什么是跨域跨域主要由于不符合浏览器的同源策略所产生的一种现象,同源策略属于浏览器的一种安全策略,其要求是所请求资源的协议、域名、端口号与当前页面完全一致,目的是为了保护本地数据不被请求获取的数据污染,如果缺少了同源策略,浏览器很容易受到XSS、CSRF等攻击,因此同源策略拦截的是请求返回来的数据,即服务器响应了,但是响应的结果被浏览器拦截了。浏览器采用同源策略,在没有明确授权的情况下,禁止页面
最近 Hack 了一个前端页面(自家网站,但是暂时不能从源码改),来增强它的某些功能。这些增强功能需要使用网页中的一些接口,但是经过调试发现需要对接口传输的表单进行签名校验。尝试了一下常见的 Hash 算法以及少许迭代组合,输入输出都对不上,而逆向整个算法代价过高,所以打算使用浏览器扩展篡改 JS ,将签名接口直接暴露出来。一、JS 文件拦截和篡改经过调试定位到了签名算法所在的地方,然后取前后若干