返回顶部
首页 > 资讯 > 前端开发 > JavaScript >基于JavaScript概括浏览器方向的优化
  • 261
分享到

基于JavaScript概括浏览器方向的优化

2024-04-02 19:04:59 261人浏览 八月长安
摘要

目录一、前言二、高谈阔论:“一字一图”三、具体落地:一个 link 标签四、写在后面一、前言 再过半个月,Internet Explorer 就正式退役了,曾

一、前言

再过半个月,Internet Explorer 就正式退役了,曾经的浏览器霸主,服役超过25年的浏览器落幕。它的落幕可能有多方面因素综合的结果,但浏览器性能和用户体验不符预期,必然是它被市场和用户所“抛弃”的重要原因。

市面上的浏览器很多,据统计超过 8 0种,很多你可能都没听过,例如 greenbrowser,chromeplus(枫树), Lunascape,糖果浏览器,彗星浏览器,Gomodo Dragon,蜜蜂浏览器,Slim Browser等。

不管啥浏览器,也不过有多少种浏览器,浏览器性能永远是避不开的话题,也常常是各大浏览器发布会上“卖点”。

至此,浏览器性能重要性不言而喻了。那么接下来,就看看关于浏览器方向的优化,以及我们具体上能做些什么。

tips:清楚本文是关于介绍浏览器方向的优化,对于读懂本文并有所收获很重要。

二、高谈阔论:“一字一图”

一字指的是“预”字,一图指的是下面这张概括浏览器方向优化的脑图。

聪慧的你,相信看出了一些东西。我们知道,不同的浏览器,它们的内核,它们的内部运行机制,可能是有所不同,这意味着在具体的优化技术上,可能要“因地制宜”,才能更好的奏效,是浏览器性能和用户体验得到提升。

尽管如此,从核心优化策略的角度看,也可以大致的将针对浏览器方向的优化分为两类:

  • 一是,文档类优化
  • 二是,推测类优化

也就是说,关于浏览器方向的优化,在核心优化策略上,可以分为两个方向,一是文档优化方向,二是浏览器推测性优化方向。

而在具体的技术手段上,主要分为下面这四种技术:

①页面预渲染

页面预渲染,是通过猜测你可能要访问的目标,从而在隐藏的标签页中预先渲染整个页面。当然,如果你是首次访问某个目标,这可能不理想。注意,这是通过我们的一些表示,例如输入部分关键字,此时我们还没确定访问,也还没正式访问,但浏览器通过一些线索,推测我们可能要访问的目标,预先渲染了这些页面。当用户真正访问浏览器猜中并提前渲染的目标页面时,相信会有一种这个浏览器或这个站点响应速度真快的“错觉”。我们无可否认,这是一种令大多数用户满意的表现,所以,页面预渲染很棒。

②DNS 预解析

DNS 预解析,有点页面预渲染的味道,当然,这一步通常发生在页面预渲染的前面。它是一种通过推测用户可能要访问的域名,提前对这些域名进行解析,从而缩短用户感知到的耗费时间,提升体验的手段。既然是推测提前解析,那么推测的依据是啥呢?这可能和浏览器的标签页,鼠标悬浮指向,导航历史等有关。我们知道,Http 请求是存在DNS延迟的,而如果浏览器的推测正确,提前进行了 DNS 解析,这种延迟问题可以得到很好的处理。

tcp 预连接

浏览器推测性的提前开始 TCP 连接,就是所说的 TCP 预连接,它发生在 DNS 解析之后。TCP 预连接能带来的好处是,假如浏览器的推测正确,那么可以省下一次完整的 TCP 握手实践。不要小瞧这一次握手的时间,这对机器而言,可以发生很多事,尤其是在“抢先占位”这种方向上。

④资源预取

和页面相关的解析器,例如文档解析器、样式解析器、脚本解析器等,可以和网络协议层沟通,声明预加载某些资源。某些资源,当然是指那些初始化渲染必要的资源,必要而又会阻塞继续渲染的资源。

tips1:综上图文信息,一字是四种技术手段的“预”,一图是概括浏览器方向优化的脑图。

tips2:上面提到的策略和手段,其实浏览器本身已经做了,或者说浏览器厂商已经做了。所以说这有点“高谈阔论”的意思,而我们需要清楚这些机制和特点,从而做一些更具体的,普通开发人员能做的事情,从而提升经我们手上开发的应用的性能。

三、具体落地:一个 link 标签

关于预加载预解析方面的技术 http 方向有,html 的 link 标签也通过 ref=“prefetch”,ref=“prerender”,ref=“dns-prefetch” 来支持。

通过 link 标签 ref 提示一些关键字,告诉浏览器为我们采用对应的优化机制。举例 link 标签在这方面的应用:

<!-- 预解析特定的域名 -->
<link rel="dns-prefetch" href="//example.com" rel="external nofollow" >
<!-- 预获取某些页面要用到的关键资源 -->
<link rel="subresource" href="//example.com/app.js" rel="external nofollow" >
<!-- 预获取某些将来要用的资源,例如浏览器标签上小 logo 图标等 -->
<link rel="prerender" href="//example.com/logo.png" rel="external nofollow" >
<!-- 预渲染某些指定页面 -->
<link rel="prefetch" href="//example.com/index.html" rel="external nofollow" >

tips:link,HTML 外部资源链接元素,规定了当前文档与外部资源的关系。

tips:注意到了吗?这些具体落地的,使用在我们开发的应用程序上的技术上,是不是和前述的高谈阔论“一字一图”息息相关。

四、写在后面

所以了解学习浏览器的优化机制策略手段,对我们做针对浏览器方向,在具体的应用程序上做优化是有意义的,因为它们是息息相关的。

总的来说,具体到每个文档页面,我们应该关注以下这几点:

  • 尽可能早的让关键资源出现在文档上,例如一些关键的 js 脚本和 CSS 资源。
  • 注意 css 渲染阻塞的特点,尽早加载交付它们。
  • 注意合理安排 js 资源,合理利用 script 的 defer(延迟)和 async(异步)属性,考虑推迟或异步获取一些非关键脚本资源,从而避免阻塞 CSSOM 和 DOM 的构建。

tips:所有有关浏览器的技术,都应该注意浏览器差异和浏览器兼容性,本文提到的有关技术手段也不例外。

到此这篇关于基于javascript概括浏览器方向的优化的文章就介绍到这了,更多相关JS浏览器方向内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 基于JavaScript概括浏览器方向的优化

本文链接: https://lsjlt.com/news/150185.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 基于JavaScript概括浏览器方向的优化
    目录一、前言二、高谈阔论:“一字一图”三、具体落地:一个 link 标签四、写在后面一、前言 再过半个月,Internet Explorer 就正式退役了,曾...
    99+
    2024-04-02
  • 基于JavaScript实现浏览器添加收藏功能
    目录js实现浏览器添加收藏功能扩展:javascript实现网站加入收藏功能第一种情况:可兼容所有浏览器的加入收藏代码,原理:第二种情况:js代码实现设为首页并加入收藏第三种情况:j...
    99+
    2023-02-17
    js浏览器添加收藏 js网站加入收藏
  • JavaScript基于ChatGPT API怎么实现划词翻译浏览器
    这篇文章主要介绍“JavaScript基于ChatGPT API怎么实现划词翻译浏览器”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“JavaScript基于ChatGPT API...
    99+
    2023-07-05
  • javascript修改浏览器title的方法
    本篇内容主要讲解“javascript修改浏览器title的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“javascript修改浏览器title的方法”吧...
    99+
    2024-04-02
  • javascript在浏览器运行的方法
    小编给大家分享一下javascript在浏览器运行的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript在浏览器运行的方法:首先打开需要调试的网...
    99+
    2023-06-14
  • JavaScript 浏览器开发者工具,前端性能优化利器
    JavaScript 浏览器开发者工具(例如 Chrome DevTools、Firefox Developer Tools)是前端开发人员必不可少的工具,提供了广泛的功能来调试、优化和维护 Web 应用程序。这些工具特别适用于提高前端性...
    99+
    2024-04-02
  • 基于浏览器同源策略的有哪些跨域方式
    小编给大家分享一下基于浏览器同源策略的有哪些跨域方式,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Flash跨域这是一种比较老的跨域方式,现在基本不使用了,要是有...
    99+
    2023-06-08
  • 从HTTP向HTTPS迁移,Chrome浏览器的UI变化
    从HTTP向HTTPS迁移,Chrome浏览器的UI变化常使用Chrome浏览器的用户或者从事Web开发的开发人员,相信已经留意到近两年对于“安全UI”的频繁改动。(改动的标识都是为了清晰告诉用户他们访问的页面是否安全的。)过去的十年里,H...
    99+
    2023-06-04
  • javascript关闭浏览器事件的方法
    小编给大家分享一下javascript关闭浏览器事件的方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!javascript关闭浏览器事件的方法:1、使用onbe...
    99+
    2023-06-14
  • 浏览器不支持javascript的解决方法
    这篇文章主要介绍浏览器不支持javascript的解决方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!浏览器不支持javascript的解决办法:首先打开【Internet选项】对话框,选择【安全】选项卡;然后单击...
    99+
    2023-06-14
  • javascript判断是否ie浏览器的方法
    这篇文章主要介绍javascript判断是否ie浏览器的方法,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!方法:首先用“navigator.userAgent”取得浏览器的userAgent字符串;然后用“userA...
    99+
    2023-06-15
  • 在浏览器测试JavaScript的方法小结
    测试JavaScript是一件很痛苦的事情。很多工具、技术和框架已经被开发出来,以使这个过程尽可能的不痛苦。其中一些工具如Mocha、Jasmine和Jest提供了一个测试结构,而其...
    99+
    2023-03-09
    浏览器测试js
  • 使用 Golang 构建基于浏览器的应用程序
    使用 golang 构建基于浏览器的应用程序golang 结合 javascript 构建了动态的前端体验。安装 golang:访问 https://golang.org/doc/ins...
    99+
    2024-04-08
    编程 构建 golang
  • 前端从浏览器的渲染到性能优化
    目录问题前瞻浏览器渲染1.浏览器渲染图解2.css解析规则3.js加载和执行机制4.图片的加载和渲染机制性能优化css优化使用减少资源请求延迟加载图像大促活动实践2.1 懒加载与异步...
    99+
    2024-04-02
  • 浏览器格式化HTML文档的方法
    这篇文章主要讲解了“浏览器格式化HTML文档的方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“浏览器格式化HTML文档的方法”吧! 外部样式表 当样式...
    99+
    2024-04-02
  • ie浏览器不支持javascript的解决方法
    小编给大家分享一下ie浏览器不支持javascript的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!ie浏览器不支持javascript的方法:首先打开...
    99+
    2023-06-14
  • 360浏览器不能运行javascript的解决方法
    小编给大家分享一下360浏览器不能运行javascript的解决方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧! ...
    99+
    2024-04-02
  • JavaScript浏览器兼容测试方法是怎样的
    JavaScript浏览器兼容测试方法是怎样的,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。向大家简单介绍一下如何进行JavaScript...
    99+
    2024-04-02
  • windows通过浏览器访问noVNC(基于web的远程桌面)
    目录 一、什么是VNC 和 noVNC? 二、Windows10安装及配置noVNC 2.0、注释 2.1、下载UltraVNC 2.2、下载Node.js 2.3、下载安装git 2.4、创建一个存放文件的文件夹 2.5、安装ws、opt...
    99+
    2023-08-31
    网络 tcp/ip 服务器
  • 基于Vue中SEO优化的方案有哪些
    这篇文章将为大家详细讲解有关基于Vue中SEO优化的方案有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。前言:众所周知,Vue SPA单页面应用对SEO不友好,当然也...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作