©2025 符合预期的FE

内联JavaScript在现在的前端项目中是比较常见的,比如一些全局函数,全局统计逻辑等,我们可能会以内联JavaScript的方式写在HTML里。那么,内联JavaScript最好应该放在哪里呢?

页面渲染流程

首先来看看这个问题:页面是怎么渲染的?大致流程如下:

页面的渲染是一个复杂的过程,这里就不再详细说了。简单总结一下,就是使用HTML构建DOM树,CSS构建CSSOM,两者结合生成Render Tree,然后再进行渲染。

推荐几篇值得收藏,反复阅读的文章:

内联JS的位置

本文仅仅讨论在一般的情况下,内联JS应该放在哪个位置。首先,下面两点可以算是【共识】:

JS尽量放在HTML底部。CSS尽量放在HTML头部。

JS放在底部是为了防止阻塞DOM的解析,CSS放在头部是为了尽早完成CSSOM的构建,从而尽早paint页面。下面是一个常见的页面的HTML代码:


    
        
    
    
          
....

假如我们有一段内联的、需要提前加载的、JS统计逻辑代码,很自然的,会把内联JS放在head里。那么是放在css前面,还是后面呢?这是本文将要阐述的问题。我做了两个实验来看看两个位置下的页面渲染流程。为了突出实验效果,我模拟的是3g下的网速。

内联JS在CSS之前

代码:


    
          
        
    
    
        

hello word_1

hello word_2

hello word_3

hello word_4

hello word_5

timeline如下:

eventlog如下:

从上面两个图可以看到,开始解析HTML后,会开始执行内联JS,并且发起网络请求下载CSS和JS文件,当CSS下载完成后,便开始进入渲染。

内联JS在CSS后

代码:


    
        
        
    
    
        

hello word_1

hello word_2

hello word_3

hello word_4

hello word_5

timeline如下:

eventlog如下:

从上面两个图可以看到,浏览器开始解析HTML后,会发起网络请求下载JS和CSS,当CSS下载完成后,才会继续执行内联JS,页面的渲染被推迟了,推迟的时间就是内联JS的执行时间。

实验小结浏览器解析HTML的时候,会对整个HTML进行『preload scanner』,提前发起网络请求,下载外链资源,并不是解析到对应标签才会进行下载。而外链下载这个过程是由浏览器进程的网络线程完成的,不会阻塞当前渲染器进程的主线程逻辑。JS会阻塞HTML的解析。内联JS在CSS前面的时候,执行内联JS可以和网络请求并行执行,执行完内联JS后会继续解析HTML,并且在CSS文件下载完成后,选择合适的时机进行渲染。而内联JS在CSS后面的时候,由于考虑到内联JS可能会修改CSSOM,所以主线程会暂停,直到CSS下载完成,生成CSSOM后,才会继续执行内联JS、解析HTML。结论

对于一些全局函数,全局统计逻辑等,我们往往会以内联JS的形式放在HTML内的head里。此时,最好把内联JS放在外链CSS之前,以提高首屏速度,至少不会拖慢首屏速度。

写在后面

本文聚焦探索了内联JS在HTML内的最佳位置。网上关于页面渲染流程的文章很多,而自己去亲自实践后,才能更好的理解整个渲染流程。符合预期。

FontForge Mac  1.0 最新版

FontForge Mac最新版是款适合Mac平台中使用的字体编辑工具。FontForge Mac官方版能让用户制作postscript、truetype、opentype、cid-keyed、multi-master、cff、svg 及点阵(bdf)字型。并且FontForge Mac还可以在资源浏览器下选择字体文件,其提供了FontForge绘图工具。

相似软件

版本说明

软件地址

注意事项:

在mac软件的下载安装中一般会遇到如下三种报错情况,现在华军小编来给大家做出解答,还请遇到报错的仔细观看:

1、“...软件已损坏,无法打开,你应该将它移到废纸篓”

2、“打不开...软件,因为它来自身份不明的开发者”

3、“打不开...软件,因为Apple无法检查其是否包含恶意软件”

当遇到上述三种情况时,我们应该:

1、首先设置:开启任何来源

2、大部分软件设置开启任何来源后,即可正常下载安装;小部分软件由于ios对未签名应用权限的限制,需要通过执行命令行代码来绕过应用签名认证。 因此需要:执行命令绕过ios的公证Gatekeeper。

3、上述操作如果均无法解决,那就需要:关闭SIP系统完整性保护。

FontForge Mac软件功能

专门为帮助个人创建和编辑Postscript,OpenType,TrueType,Outline和Bitmap字体而开发的软件工具。

通过浏览器使您可以从硬盘驱动器中打开字体类型,它支持从BDF,TTF,EPS,PDF,SVG和位图格式导入。

可以撤消和重做操作,剪切,复制,粘贴和清除元素,以及连接两项,并查看字体信息,例如名称,粗细,版本,上升,下降,下划线位置,使用的图层,Unicode范围,以及创建和修改日期。

在创建新字体时,您可以使用多个选项。更确切地说,您可以放大和缩小,徒手绘制,添加曲线,角点或切线点,将样条线切成两段,翻转,旋转,调整大小或倾斜选区,以及测量用户定义的点之间的距离和角度。

FontForge的其他选项使您可以使用搜索功能(例如,按颜色,通配符,脚本),变换图层,取消链接引用,合并字体,启用自动提示,执行脚本,生成Mac系列以及编辑资源,仅用于仅举几例。

FontForge Mac软件特色

FontForge捆绑了许多用于创建和编辑字体类型的高级选项。它迎合了所有希望个性化字体的用户,尤其是那些在此类应用中具有一定背景的用户。

在启动时,您可以使用文件浏览器从硬盘驱动器中找到并打开字体类型。该工具支持Outline,Bitmap,PostScript,TrueType和OpenType字体格式。

创建新的字体类型意味着绘制每个字形,直到形成完整的字母,数字系统和符号。FontForge提供了几种绘图工具供您使用,例如曲线点,距离测量,手动滚动和放大。另外,您可以管理多个图层(例如,背景,前景)。

就字体信息而言,您可以编辑PS名称(例如系列名称,版本,基本文件名),大小(例如设计尺寸,样式ID),Unicode范围等。

毫无疑问,FontForge并不是一个没有经验的用户可以使用的工具。即使使用随附的帮助手册,看似混乱的界面和众多高级设置也使该程序很难学习。但是,该应用程序在涉及系统资源时相当宽容,并且具有良好的响应时间。总而言之,FontForge为用户提供了创建和编辑字体类型所需的工具,只要他们有足够的耐心来理解它们即可。

FontForge Mac使用方法

打开fontforge软件,我们做的是汉字,选择gbk2312。

慢慢的找到他们,在“扒”这个字的地方双击

导入eps文件

一直点击确定即可;

ctrl+a全部选择,使用这个工具调整大小。

调整后效果如图下:

按住ctrl键,鼠标滚轮放大,双击里面的细线,删除,再双击再删除,直到消失。

Ai软件导出的eps很粗糙,要静下心来慢慢修改。

修改好之后的效果如图。

完成设置后查看一下效果,可以按下ctrl+k快捷键。

最后按ctrl+s保存,关掉刚才的界面。

点击“基础”,修改字体信息,给字体取个名字!

FontForge Mac更新日志

1.修复若干bug;

2.优化细节问题;

华军小编推荐:

FontForge Mac是一款不用学习使用的软件,非常简单的工具,有需要的用户可以在华军软件园下载使用,保准你满意,另外还有众多同款同类软件提供下载,如:百度输入法 For Mac、Mac OS X、CrossOver Pro For Mac、Boot Camp、易我数据恢复软件等。

本站内容来自用户投稿,如果侵犯了您的权利,请与我们联系删除。联系邮箱:835971066@qq.com

本文链接:http://news.xiuzhanwang.com/post/2346.html

友情链接: