首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏技术工具的探究

    浏览器渲染(线程视角2

    计算样式需要经过如下三个步骤: 结构转换:css文件主要有三中数据来源,通过link引用的css文件、style标签内、通过style属性引入,类似于html文档转换成dom树一样,css文件也要转换成浏览器可以理解的 加速生成位图,生成的位图保存在GPU内存中 image.png 合成阶段(Draw quad指令) 所有的图块被光栅化转化为位图后,合成线程会生成一个绘制图块的命令DrawQuad,然后该指令提交给浏览器进程 ,浏览器接收到DrawQuad命令,从GPU内存中读取图片输出到显卡后缓冲区,显卡将后缓冲区内容交换至前缓冲区,由屏幕已60HZ的频率刷新显示图片 显示图像(Display) 看下渲染引擎的图像是如何显示到显示器的 发出Draw Quad指令:所有图块被光栅化转化为位图后,合成线程会生成一个绘制图块的命令DrawQuad发送给浏览器进程。 输出显示:浏览器进程将图像发送给显卡的后缓冲区,后缓冲区和前缓冲区不断的交替使用,已到达显示器60HZ的速率刷出图像 完。

    2.4K70发布于 2020-05-24
  • 来自专栏code人生

    Fabric区块链浏览器2):用户认证

    本文是区块链浏览器系列的第四篇。 在上一篇文章[1]介绍如何解析区块数据时,使用session对客户端上传的pb文件进行区分,到期后自动删除。 ID: u.ID, Username: u.Name, }, nil } 用户认证采用的JWT(JSON Web Token),实现方法在JWT介绍[2] now.Add(30 * time.Minute).Unix(), ID: user.ID, Username: user.Name, }, nil } 2. mengbin92[9] cnblogs: 恋水无意[10] References [1] 上一篇文章: https://mengbin.top/2023-08-13-blockBrowser/ [2]

    52210编辑于 2023-10-16
  • 来自专栏京程一灯

    现代浏览器探秘(part2):导航

    前文: 现代浏览器探秘(part 1):架构 ---- 导航时都发生了什么 这是关于Chrome内部工作原理系列的第2部分。 图1:UI线程询问输入是搜索查询还是URL 第2步:开始导航 当用户敲回车时,UI线程启动网络调用以获取站点内容。 图2:UI线程与网络线程进行通信以导航到mysite.com 此时,网络线程可以接收像HTTP 301那样的服务器重定向头。在这种情况下,网络线程会通知UI线程服务器正在请求重定向。 当UI线程在第2步向网络线程发送URL请求时,它已经知道他们正在导航到哪个站点。 UI线程尝试与网络请求并行地主动查找或启动渲染器进程。 图9:从浏览器进程到新渲染器进程的2个IPC,通知新渲染器渲染页面并通知旧渲染器进程卸载 如果是Service Worker 最近对该导航过程的一个改变是引入了service worker (https

    2.6K20发布于 2019-03-27
  • 来自专栏reizhi

    Chrome浏览器禁止Flash P2P

    P2P本是一种用于 BT 下载的传输技术,每一位下载者本身同时也是上传者。与传统的 C/S 结构下载相比,P2P 下载人数越多速度反而越快。 但 P2P 下载会占用大量的上行带宽,使得运营商运行压力增大。为了使得流媒体在线播放更为流畅,Flash 也默认开启了 P2P 传输功能,在你看视频的同时,很有可能会偷偷上传数据。 如此一来,Flash P2P 技术不仅没有起到应有的效果,反而使得视频无法流程播放。 遗憾的是,网络所盛传的 Flash 全局设置中的 P2P 传输选项并不能有效的禁止上传。 对于 Chrome 浏览器,必须使用以下方法予以禁止: 1.打开 chrome://version ,查看个人资料路径 2.在资源管理器中打开个人资料路径,定位至 \Pepper Data\Shockwave Chrome 浏览器,Flash P2P 功能就被彻底关闭了。

    64010编辑于 2022-09-26
  • 来自专栏开源优测

    python selenium2示例 - 启动不同浏览器

    一、启动firefox浏览器 不需要下载任何驱动,原生支持firefox,但要注意firefox浏览器的版本,如果出现启动firefox失败的情况,请降低或升级firefox版本。 webdriver.Firefox() # 注意http不可以省略 url='http://www.baidu.com' driver.get(url) driver.close() 2、 ffdriver ) # 注意http不可以省略 url='http://www.baidu.com' driver.get(url) driver.close() 二、启动google浏览器 googledriver) # 注意http不可以省略 url='http://www.baidu.com' driver.get(url) driver.close() 三、启动IE浏览器

    1K60发布于 2018-04-04
  • 来自专栏.net core新时代

    使用html2canvas实现浏览器截图

      最近做项目为了解决全局异常信息记录,研究了一下浏览器全屏截图功能,方便用户发现异常时能够快速截图发给管理员。 阅读目录 html2canvas介绍 使用实例 问题分析 总结 回到顶部 html2canvas介绍 以前我们只能通过其他的截图工具来截取图像。 现代浏览器的功能已经越来越强,随着H5的逐渐普及,浏览器本身就可以截图啦。html2canvas就是这样一款前端插件,它的原理是将Dom节点在Canvas里边画出来。 虽然很方便,但有以下限制: 不支持iframe 不支持跨域图片 不能在浏览器插件中使用 部分浏览器上不支持SVG图片 不支持Flash 不支持古代浏览器和IE,如果你想确认是否支持某个浏览器,可以用它访问 我这里使用的是 html2canvas 0.5.0 版本 html2canvas($("#tbl_exception"), { onrendered: function (canvas

    2.4K100发布于 2018-01-05
  • 来自专栏前端开发随笔

    Vuecli2.x版本更新清除浏览器缓存

    修改build/webpack.prod.conf.js路径里的文件 const version = new Date().getTime(); output: { path: config.build.assetsRoot, filename: utils.assetsPath('js/[name].[chunkhash:8].' + version + '.js'), chunkFilename: utils.assetsPath('js/[name].[chunkhash:8].'

    73820编辑于 2022-05-05
  • Google浏览器——AxureRP_for_chorme_0_6_2添加

    准备 链接:https://share.weiyun.com/5PVwSMA Google浏览器版本 步骤 压缩解压 首先把需要安装的第三方插件,后缀.crx 改成 .rar,然后解压,得到一个文件夹 添加完成 选择刚才解压好的文件夹,确定 这个也只能应个急,最好还是'自由上网'下一个最新版的,或者使用其他浏览器,比如QQ浏览器有现成的插件~

    1.3K10编辑于 2024-08-16
  • 来自专栏HHTjim'S 部落格

    AirDroid2-用浏览器控制安卓设备

    AirDroid2-用浏览器控制安卓设备 作者:matrix 被围观: 1,862 次 发布时间:2013-07-14 分类:兼容并蓄 零零星星 | 无评论 » 这是一个创建于 3336 天前的主题 AirDroid是一款可以在电脑的浏览器上对手机进行管理的应用,需要wifi网络支持,手机安装启用服务后,在PC的浏览器即可登陆进行管理和操作,可以管理联系人、短信、文件、应用、照片、铃声、音乐、通话记录 有了AirDroid2,真是太爽了。。。 下载:https://play.google.com/store/apps/details? 安卓端安装后可以用内网ip登录(还可设置加密链接)、web.airdroid.com或者扫描二维码 浏览器登录后便可操作。

    1.2K20编辑于 2022-09-26
  • 来自专栏Timhbw博客

    Mac必备软件(2)-浏览器(Chrome长期更新)

    福利给大家一个网址:Chrome各版本下载 Firefox浏览器 这个浏览器不必多说,用过都知道。 据2013年8月浏览器统计数据,Firefox在全球网页浏览器市占率76%至81%,用户数在各网页浏览器中排名第三,全球估计有6450万位用户。 自Firefox 29起,浏览器界面有很大程度改变。由于该浏览器开放了源代码,因此还有一些第三方编译版供使用。如pcxFirefox,苍月浏览器,tele009等。 下载地址: 火狐阳光盒子定制版 Chrome浏览器 Google Chrome,又称Google浏览器,是一个由Google(谷歌)公司开发的网页浏览器。 软件的beta测试版本在2008年9月2日发布,提供50种语言版本,有Windows、OS X、Linux、Android、以及iOS版本提供下载。 ?

    1.1K40发布于 2018-05-03
  • 来自专栏Vue2

    vue2知识点:浏览器本地缓存

    @toc3.21浏览器本地缓存浏览器本地缓存实际是js的知识点,这里只是提一下加深下印象分两种:localStorage 《基础篇第1章:vue2简介》包含Vue2知识点、个人总结的使用注意点及碰到的问题总结2.《基础篇第2章:vue2基础》包含Vue2知识点、个人总结的使用注意点及碰到的问题总结3. 、总结vue数据监测)8.vue2知识点:计算属性与监听属性9.vue2知识点:生命周期(包含:生命周期介绍、生命周期钩子、整体流程图详解)10.vue2知识点:非单文件组件和单文件组件11.vue2知识点 :组件is属性12.vue2知识点:组件模板定义13.vue2知识点:组件的props属性、非props属性、props属性校验14.vue2知识点:组件自定义事件15.vue2知识点:组件插槽分发16 .vue2知识点:动态组件17.vue2知识点:混入18.vue2知识点:浏览器本地缓存19.vue2知识点:全局事件总线(GlobalEventBus)20.vue2知识点:消息订阅与发布21.vue2

    41410编辑于 2024-10-27
  • 来自专栏鱼皮客栈

    现代浏览器内部机制 Part 2 | 导航这件小事

    当你将一个网站的 url 输入到浏览器的地址栏时,此刻正是浏览器进程中的 UI 线程在起作用。 Step 2:开始导航 当用户按下回车键后,UI 线程要求网络线程去获取网站的内容。窗口的 Tab 上会开始转菊花,网络线程会采用一系列的协议和操作(比如 DNS)查询必要的信息并为请求建立连接。 在 Step 2 中,当 UI 线程将需要请求的 url 告诉网络线程时,其实它本身已经知道要导航到哪个网站了,于是 UI 线程在把 url 传递给网络线程的同时,会尝试启动一个渲染进程。 参考资料 [1] Inside Look at Modern Web Browser (part 2): https://developers.google.com/web/updates/2018/09 /inside-browser-part2 [2] Mariko Kosaka: https://developers.google.com/web/resources/contributors/kosamari

    1.5K30发布于 2021-03-26
  • 来自专栏李维亮的博客

    在sublime-text 中设置浏览器预览方法(2

    .*" //any file with extension } } ] 如果是其它浏览器,可以 ctrl+shift+c 路径,然后直接在地址栏粘贴

    91530发布于 2021-07-09
  • 来自专栏橙子探索测试

    selenium自动化测试-2.浏览器基本操作

    webdriver 通过协议和接口发现DOM中的元素,并实现控制浏览器的行为,例如打开浏览器、控制浏览器大小、浏览器刷新及浏览器前进、后退等,接下来介绍浏览器的这些基本操作。 2.打开页面 driver.get(url) 方法打开url中填写的地址 ? 运行成功后,看一看到浏览器打开了百度页面 ? 3.浏览器等待 time.sleep() 用于将程序停顿一段时间后再执行。 5.浏览器回退 driver.back(), 用于回退到上一步操作 ? 浏览器会依次:初次打开浏览器--打开百度页面--回退到初次打开的浏览器页面。 6.浏览器前进 driver.forward(),用于前进到下一步操作 ? 浏览器会依次:初次打开浏览器--打开百度页面--回退到初次打开的浏览器页面--前进到百度页面。 driver.quit() 指关闭整个浏览器。如果浏览器有多个窗口,会同时关闭多个tab,不再做其他窗口操作。 ?

    1.1K10发布于 2020-03-11
  • 来自专栏FunTester

    selenium2java让浏览器停止加载的方法

    本人在使用selenium2java的过程中,偶然会遇到一些网页一直在加载,大概是防爬虫的一些东西,或者网速太慢了,或者有一些请求一直没有返回,今天想到一个办法,使用多线程按快捷键esc来使浏览器停止加载

    1.2K20发布于 2019-09-25
  • 来自专栏.NET企业级解决方案应用与咨询

    .NET混合开发解决方案2 WebView2与Edge浏览器的区别

    系列目录     【已更新最新开发文章,点击查看详细】   WebView2 基于Microsoft Edge浏览器。 开发者可以将功能从浏览器扩展到基于 WebView2 的应用。 由于 WebView2 不限于类似浏览器的应用,因此需要修改或删除一些浏览器功能。 在 WebView2 的上下文中,浏览器功能遵循以下设计准则: WebView2 和 Microsoft Edge 中的大多数功能都是相同的。 浏览器功能   下表显示了与Microsoft Edge浏览器不同的WebView2功能: 默认状态 表示该功能是新WebView2实例的默认体验的一部分。 为了避免对键盘快捷键进行此类更改,可以将AreBrowserAcceleratorKeysEnabled设置为FALSE,这将关闭所有访问浏览器功能的键,但保持所有基本文本编辑和移动快捷键处于打开状态。

    1.8K10编辑于 2022-05-09
  • 来自专栏拂晓风起

    cocos2d-js 各浏览器上的表现

    其实这里只简单对比3个浏览器,估计也足够代表性了。 结论是: 1、有webgl支持的时候,就可以尽情的耍吧; 2、没有webgl,能native就native。 2、小米1的微信内嵌浏览器(跟google浏览器效率类似,应该是内嵌了google浏览器) 本来想在手机上跑官方的测试,但发现死活打不开。算了。。。 微信浏览器跟谷歌浏览器类似,操作也是类似的(双击放大)。纯canvas没有webgl支持,刚打开还没放小人就只有50帧了。 3、小米1的UC浏览器 UC也是类似的情况了。 ? ? 后边再测试,发现canvas大小还是很有影响力的(因为canvas机制影响下,只能每帧清空全屏然后重绘)。

    2.2K30发布于 2018-07-03
  • 来自专栏云开发小程序1

    每日一学vue2浏览器本地存储(webStorage)

    webStorage分为:localStorage、sessionStorage    特点: 1.存储容量一般支持5MB左右(不同浏览器也有所不同) 2.浏览器通过window.localStorage xxxStorage.removeItem('key'):该方法接收一个键名作为参数,并把键名从存储中删除 xxxStorage.clear():该方法会清空存储中所有的数据 解释: sessionStorage存储的内容会随着浏览器窗口关闭而消失 当用户清空浏览器的缓存时,数据也会随之消失 浏览器本地存储(演示) 1.首先我们要在某个浏览器中输入东西后,关闭它,在重更新打开 2.开启开发者工具中的Application(应用)选项,在Local xxx:写入的是密钥的数据(key) yyy:写入的是值的数据(Value) 如果我们用字符串的形式直接项存到本地储存的话,会出现如下情况: <body> <h2>localStorage</h2 /body> 显示结果:  解决方法: <body> <h2>localStorage</h2> <button onclick="saveData()">点我保存一个数据</button

    2.2K30编辑于 2022-11-20
  • 来自专栏全栈测试

    selenium自动化测试-2.浏览器基本操作

    所谓浏览器操作是指webdriver 通过协议和接口发现DOM中的元素,并实现控制浏览器的行为,例如打开浏览器、控制浏览器大小、浏览器刷新及浏览器前进、后退等,接下来介绍浏览器的这些基本操作。 2.打开页面 driver.get(url) 方法打开url中填写的地址 ? 运行成功后,看一看到浏览器打开了百度页面 ? 3.浏览器等待 time.sleep() 用于将程序停顿一段时间后再执行。 5.浏览器回退 driver.back(), 用于回退到上一步操作 ? 浏览器会依次:初次打开浏览器--打开百度页面--回退到初次打开的浏览器页面。 6.浏览器前进 driver.forward(),用于前进到下一步操作 ? 浏览器会依次:初次打开浏览器--打开百度页面--回退到初次打开的浏览器页面--前进到百度页面。 8.获取浏览器名称 driver.name , 如果用Chrome打开,就显示chrome, 其他浏览器同理。 ?

    78030发布于 2019-10-17
  • 来自专栏友儿

    浏览器刷新一次,nginx执行2次的问题

    其实favicon.ico的请求也被nginx分配给php处理了,造成了程序执行两次的结果。

    69530编辑于 2022-09-11
领券