关于前端碎碎念5-web前端常见面试问题总结(1)

网友投稿 664 2022-05-30

1.web前端项目的结构是怎样的?文件有哪些命名规范?

项目结构规范

页面文件:以项目名命名,例如:shop

js文件:命名为js

css文件:命名为css

图片文件:命名为images

数据文件:命名为data

文件存储规范:按项目模块分类存储,例如:用户信息管理

页面文件存放: shop/userinfo/userlist.html

js文件:js/userinfo/userlist.js

css样式:css/userinfo/userlist.css

注意:图片的分类一般按照功能作用划分,比如: 小图标、动画图片

动画图片:images/gif/…

图标库:images/flags/…

项目文件命名规范

页面/js/css文件规范:项目名称-模块名称-页面名称,例如:shop-user-index.html用户模块的首页。

注意:js一般会包含 公共js 习惯命名commo.js;css样式会包含公共css,习惯命名为 common.css。

2.谈谈浏览器的兼容性

这个问题是非常抽象的,越是抽象的问题越能表现出我们的表达能力,而面试官就喜欢根据你的回答来追问,不断地打断你的思路,这个时候不要慌,一定要坚信自己。

回答思路

我们在开发的时候会明确项目要兼容哪些浏览器的最低版本,我之前的项目要求兼容IE8.0以上的版本,Chrome 48以上,FireFox 44以上。有了这些最基本的要求,在开发中就是要考虑到CSS样式和JavaScript的在这些浏览器的兼容性了

html部分

1.H5新标签在IE9以下的浏览器识别

2.ul标签内外边距问题ul标签在IE6\IE7中,有个默认的外边距,但是在IE8以上及其他浏览器中有个默认的内边距。解决方法:统一设置ul的内外边距为0

CSS样式的兼容性

1.css的hack问题:主要针对IE的不同版本,不同的浏览器的写法不同

IE的条件注释hack:

2.IE6双边距问题:IE6在浮动后,又有横向的margin,此时,该元素的外边距是其值的2倍

解决办法:display:block;

3.IE6下图片的下方有空隙

解决方法:给img设置display:block;

4.IE6下两个float之间会有个3px的bug

解决办法:给右边的元素也设置float:left;

5.IE6下没有min-width的概念,其默认的width就是min-width

6.IE6下在使用margin:0 auto;无法使其居中

解决办法:为其父容器设置text-align:center;

7.被点击过后的超链接不再具有hover和active属性

解决办法:按lvha的顺序书写css样式,

":link": a标签还未被访问的状态;

":visited": a标签已被访问过的状态;

":hover": 鼠标悬停在a标签上的状态;

":active": a标签被鼠标按着时的状态;

8.在使用绝对定位或者相对定位后,IE中设置z-index失效,原因是因为其元素依赖于父元素的z-index,但是父元素默认为0, 子高父低,所以不会改变显示的顺序

9.IE6下无法设置1px的行高,原因是由其默认行高引起的

解决办法:为期设置overflow:hidden;或者line-height:1px;

JavaScript的兼容性

1.标准的事件绑定方法函数为addEventListener,但IE下是attachEvent;

2.事件的捕获方式不一致,标准浏览器是由外至内,而IE是由内到外,但是最后的结果是将IE的标准定为标准

3.window.event获取的。并且获取目标元素的方法也不同,标准浏览器是event.target,而IE下是event.srcElement

4.在低版本的IE中获取的日期处理函数的值不是与1900的差值,但是在高版本的IE中和标准浏览器保持了一致,获取的值也是与1900的差值。

比如:var year= new Date().getYear();

5.ajax的实现方式不同,这个我所理解的是获取XMLHttpRequest的不同,IE下是activeXObject

6.IE中不能操作tr的innerHtml7.获得DOM节点的父节点、子节点的方式不同

其他浏览器:parentNode  parentNode.childNodes

IE:parentElement parentElement.children

3.页面优化有哪些方法

页面优化的方法非常多,最好能够对这些优化方案进行分类,这些方案最好能够结合实际开发遇到的问题来表述。

优化的方案

减少操作量

尽量减少 HTTP 请求

1) 合并文件,比如把多个 CSS 文件合成一个;

2) CSS Sprites 利用 CSS background 相关元素进行背景图绝对定位;

不要在 HTML 中使用缩放图片

缩放图片并没有减少图片的容量,只是控制了图片的大小。

Image压缩

使用工具对图片进行压缩,保证质量的同时减少了图片的大小。

减少对DOM的操作

减少对DOM的操作,减少页面的重绘。

提前做加载操作

对域名进行预解析

例如京东的做法

预载入组件或延迟载入组件

把 CSS 放到代码页上端

CSS 放到最顶部,浏览器能够有针对性的对 HTML 页面从顶到下进行解析和渲染。

使用 new Image对象,对图片进行缓存

提升并行加载

切分组件到多个域 ,提升服务器的响应能力

JavaScript和CSS优化

从页面中剥离 JavaScript 与 CSS

剥离后,能够有针对性的对其进行单独的处理策略,比如压缩或者缓存策略。

精简 JavaScript 与 CSS

使用工具压缩JavaScript和CSS文件

脚本放到 HTML 代码页底部

减少对页面的阻塞。

异步加载

使用Ajax实现异步加载,例如,滚动页面加载后面的内容,这种也比较常见。

4.页面渲染原理是什么?

这是一道纯理论的题目,只要能够将浏览器的渲染过程很专业的表述出来,一定会得到面试官的青睐,作为一枚前端人员确实有必要了解一下浏览器的渲染过程是怎样的,对于页面性能的提升是有帮助的。

解题思路

渲染引擎是干什么的

渲染引擎可以显示html、xml文档及图片,它也可以借助插件(一种浏览器扩展)显示其他类型数据,例如使用PDF阅读器插件可以显示PDF格式。

渲染引擎

不同的浏览器有不同的渲染引擎,对于渲染引擎的使用总结如下:

Trident(MSHTML)内核:IE,MaxThon,TT,The World,360,搜狗浏览器等

Gecko内核:Netscape6及以上版本,FF,MozillaSuite/SeaMonkey等

Presto内核:Opera7及以上

Webkit内核:Safari,Chrome等

解析html以构建dom树 -> 构建render树 -> 布局render树 -> 绘制render树

步骤详细解释

第一步:渲染引擎开始解析html,根据标签构建DOM节点

第二步:根据css样式构建渲染树,包括元素的大小、颜色,隐藏的元素不会被构建到该树中。

第三步:根据css样式构建布局树,主要是确定元素要显示的位置。

第四步:根据前面的信息,绘制渲染树。

5.什么是响应式开发?

响应式开发是前端开发工作比较常见的工作内容,随着移动互联网的发展,移动端设计越来越重要,很多项目都是移动端项目先开发,而后是PC端的开发,为了降低运营成本和开发成本,同一个网站要能兼容PC端和移动端显示呼之欲出,进而响应式开发成了前端开发人员必备的技能,所以响应式开发的技术必须掌握。

什么是响应式

顾名思义,同一个网站兼容不同的大小的设备。如PC端、移动端(平板、横屏、竖排)的显示风格。

需要用到的技术

1. Media Query(媒体查询)

用于查询设备是否符合某一特定条件,这些特定条件包括屏幕尺寸,是否可触摸,屏幕精度,横屏竖屏等信息。

2. 使用em或rem做尺寸单位

用于文字大小的响应和弹性布局。

3. 禁止页面缩放

4. 屏幕尺寸响应

a)  固定布局:页面居中,两边留白,他能适应大于某个值一定范围的宽度,但是如果太宽就会有很多留白,太窄会出现滚动条,在PC页面上很常见。

b)  流动布局:屏幕尺寸在一定范围内变化时,不改变模块布局,只改变模块尺寸比例。比固定布局更具响应能力,两边不留白,但是也只能适应有限的宽度变化范围,否则模块会被挤(拉)得不成样子。

c)  自定义布局:上面几种布局方式都无法跨域大尺寸变化,所以适当时候我们需要改变模块的位置排列或者隐藏一些次要元素。

d)  栅格布局:这种布局方式使得模块之间非常容易对齐,易于模块位置的改变用于辅助自定义布局。

响应式设计注意事项

1.宽度不固定,可以使用百分比

#head{width:100%;}

#content{width:50%;}

2. 图片处理

图片的宽度和高度设置等比缩放,可以设置图片的width为百分比,height:auto;

背景图片可以使用background-size 指定背景图片的大小。

6.html5有哪些新特性、移除了那些元素?

题目涉及到范围非常的大,如果要面面俱到显然半天都答不完,可以先罗列出H5的一些新特性,不要回答那么具体,等面试官提具体的问题,所以在面试之前也要把这里的技术过一遍,至少每个技术也要做个小程序出来体验一下。

H5新特性

增强了图形渲染、影音、数据存储、多任务处理等处理能力主要表现在

绘画 canvas;

类似windows自带的画图板,可绘制线、框、路径、图……,InternetExplorer 9、Firefox、Opera、Chrome 以及 Safari 支持 及其属性和方法。

画图需要的要素

a)   笔,用笔可以画线、圆、矩形、文本等

b)   颜色

c)   画板

由于画布案例比较多,代码比较复杂,可以在w3cschool上查看相关教程

2)  本地离线存储 localStorage

长期存储数据,浏览器关闭后数据不丢失;

1.特点

数据永久存储,没有时间限制;大小限制5M(够用了);只存储字符串。

2.数据存取方式

localStorage.a = 3;//设置a为"3"   localStorage["a"] = "sfsf";//设置a为"sfsf",覆盖上面的值   localStorage.setItem("b","isaac");//设置b为"isaac"   var a1 = localStorage["a"];//获取a的值   var a2 = localStorage.a;//获取a的值   var b = localStorage.getItem("b");//获取b的值   var b2= localStorage.key(0);//获取第一个key的内容   localStorage.removeItem("c");//清除c的值   localStorage.clear();//清除所有的数据

推荐使用:

getItem()

setItem()

关于前端的碎碎念5-web前端常见面试问题总结(1)

removeItem()

3.事件监听

if(window.addEventListener){    window.addEventListener("storage",handle_storage,false);//   }else if(window.attachEvent){ //兼容IE    window.attachEvent("onstorage",handle_storage);   }   function handle_storage(e){    }

对象e为localStorage对象,Chrome、Firefox支持差,IE支持较好。

3)  sessionStorage的数据在浏览器关闭后自动删除;操作参考localStorage

4)  用于媒介回放的 video和 audio 元素;

5)  语意化更好的内容元素,比如article、footer、header、nav、section;

6)  表单控件,calendar、date、time、email、url、search;

7)  新的技术webworker(专用线程)

8)  websocketsocket通信

9)  Geolocation 地理定位

移除的元素

纯表现的元素

默认字体,不设置字体,以此渲染

字体标签

水平居中

下划线

大字体

中横线

文本等宽

框架集

</p><p><frame></p><p>HTML web前端</p><p> <strong>版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。</strong> </p></div> <div class="article_footer clear"> <div class="fr tag">标签:<a href="https://www.huoban.com/news/tags-117.html">关于</a> <a href="https://www.huoban.com/news/tags-1610.html">前端</a> <a href="https://www.huoban.com/news/tags-4942.html">碎碎念</a> </div> <div class="bdsharebuttonbox fl share"> <div class="share-widget fl"> <div class="social-share" data-sites="wechat,weibo, qq, qzone"></div> </div> </div> </div> <!-- 广告位ad4 --> <div class="post-navigation clear"> <div class="post-previous fl"> <span>上一篇:</span><a href="https://www.huoban.com/news/post/18633.html">Excel表格如何制作分类折线图</a> </div> <div class="post-next fr"> <span>下一篇:</span><a href="https://www.huoban.com/news/post/18636.html">华为云云原生钻石集训营 第十五课:传统微服务框架接入Istio方案详解</a> </div> </div> </div> <div class="related_article"> <div class="box_title clear"> <span><i class="icon fa fa-paper-plane"></i>相关文章</span> </div> <div class="related_list clear"> <article class="fl"> <div class="related_img"><a href="https://www.huoban.com/news/post/74925.html"><img src="https://www.huoban.com/news/zb_users/cache/ly_autoimg/n/NzQ5MjU.jpg"></a></div> <div class="related_detail"> <h3><a href="https://www.huoban.com/news/post/74925.html" title="工资群发助手在哪里(工资群发助手收费的吗)">工资群发助手在哪里(工资群发助手收费的吗)</a></h3> <div class="meta"> <span><i class="fa fa-eye"></i>664</span> <span><i class="fa fa-clock-o"></i>2022-05-30</span> </div> </div> </article> <article class="fl"> <div class="related_img"><a href="https://www.huoban.com/news/post/74760.html"><img src="https://www.huoban.com/news/zb_users/cache/ly_autoimg/n/NzQ3NjA.jpg"></a></div> <div class="related_detail"> <h3><a href="https://www.huoban.com/news/post/74760.html" title="为什么流程图建了一次就用不了了(为什么流程图不能编辑)">为什么流程图建了一次就用不了了(为什么流程图不能编辑)</a></h3> <div class="meta"> <span><i class="fa fa-eye"></i>664</span> <span><i class="fa fa-clock-o"></i>2022-05-30</span> </div> </div> </article> <article class="fl"> <div class="related_img"><a href="https://www.huoban.com/news/post/74744.html"><img src="https://www.huoban.com/news/zb_users/cache/ly_autoimg/n/NzQ3NDQ.jpg"></a></div> <div class="related_detail"> <h3><a href="https://www.huoban.com/news/post/74744.html" title="关系图怎么点不开">关系图怎么点不开</a></h3> <div class="meta"> <span><i class="fa fa-eye"></i>664</span> <span><i class="fa fa-clock-o"></i>2022-05-30</span> </div> </div> </article> </div> </div> <!--<p class="comment-disable sb br mb"><i class="iconfont icon-cry"></i>抱歉,评论功能暂时关闭!</p>--> </div> </div> <div class="sidebar"> <div id="推荐文章" class="part clear 推荐文章"> <div class="top"> <h3 class="title">推荐文章</h3> </div> <div class="side 推荐文章"><ul><ul class="hot_posts"> <li><h4><a href="https://www.huoban.com/news/post/132763.html" title="企业生产管理是什么,企业生产管理软件">企业生产管理是什么,企业生产管理软件</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/136160.html" title="盘点进销存软件排行榜前十名">进盘点进销存软件排行榜前十名</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/132779.html" title="进销存系统哪个简单好用?进销存系统优点">进销存系统哪个简单好用?进销存系统优点</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/133648.html" title="工厂生产管理(工厂生产管理流程及制度)">工厂生产管理(工厂生产管理流程及制度)</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/132780.html" title="生产管理软件,机械制造业生产管理,制造业生产过程管理软件">生产管理软件,机械制造业生产管理,制造业生产过程管理软件</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/132776.html" title="进销存软件和ERP有什么区别?进销存与erp软件理解">进销存软件和ERP有什么区别?进销存与erp软件理解</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/132974.html" title="进销存如何进行库存管理">进销存如何进行库存管理</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/132269.html" title="excel销售订单管理系统(销售订单录入系统)">如何利用excel制作销售订单管理系统?</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/136946.html" title="数据库订单管理系统有哪些功能?数据库订单管理系统怎么设计?">数据库订单管理系统有哪些功能?数据库订单管理系统怎么设计?</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/132312.html" title="数据库订单管理系统(订单系统数据流图)">什么是数据库管理系统?</a></h4></li></ul></ul></div> </div> <div id="divPrevious" class="part clear previous"> <div class="top"> <h3 class="title">最近发表</h3> </div> <div class="side divPrevious"><ul><li><a title="如何通过风险管理提升项目管理最佳实践,确保团队合作无间?" href="https://www.huoban.com/news/post/154990.html">如何通过风险管理提升项目管理最佳实践,确保团队合作无间?</a></li> <li><a title="如何利用数据分析工具优化库存管理,提升进销存管理软件的效率?" href="https://www.huoban.com/news/post/154989.html">如何利用数据分析工具优化库存管理,提升进销存管理软件的效率?</a></li> <li><a title="如何通过云计算实现企业数字化转型中的流程优化?" href="https://www.huoban.com/news/post/154988.html">如何通过云计算实现企业数字化转型中的流程优化?</a></li> <li><a title="如何通过云端CRM解决方案提升用户体验与数据分析的结合?" href="https://www.huoban.com/news/post/154987.html">如何通过云端CRM解决方案提升用户体验与数据分析的结合?</a></li> <li><a title="如何通过项目管理软件提升团队协作与成本控制的效率?" href="https://www.huoban.com/news/post/154986.html">如何通过项目管理软件提升团队协作与成本控制的效率?</a></li> <li><a title="如何利用智能进销存系统提升销售分析的准确性与市场需求预测能力?" href="https://www.huoban.com/news/post/154985.html">如何利用智能进销存系统提升销售分析的准确性与市场需求预测能力?</a></li> <li><a title="Excel四舍五入设置方法" href="https://www.huoban.com/news/post/154984.html">Excel四舍五入设置方法</a></li> <li><a title="Excel表格乘法计算方法详解" href="https://www.huoban.com/news/post/154983.html">Excel表格乘法计算方法详解</a></li> <li><a title="如何设置Excel行间距以提高阅读清晰度" href="https://www.huoban.com/news/post/154982.html">如何设置Excel行间距以提高阅读清晰度</a></li> <li><a title="Excel怎么画折线图,详细教程带你轻松实现" href="https://www.huoban.com/news/post/154981.html">Excel怎么画折线图,详细教程带你轻松实现</a></li> </ul></div> </div> <div id="sidebar_ad" class="part clear sidebar_ad"> <div class="part sidebar_ad"><div class="active"><a href='https://mrhnug.r.huobanbot.com/wxwork/pub/landings/426?app_id=1960&company_id=54&corp_id=wwbd4b7b6e7b0ccdaa&app_company_id=1' target='_blank'><img style='width:100%;height:100%' src='https://www.huoban.com/news/zb_users/upload/2023/08/erwei3.jpg'></a><br> <a href='https://www.huoban.com/crm.html?utm=jiasouadv' target='_blank'><img style='width:100%;height:100%' src='https://www.huoban.com/news/zb_users/upload/2023/03/20230321171645167939020583758.png'></a><br> </div></div> </div> <div id="hot_posts" class="part clear hot_posts"> <div class="top"> <h3 class="title">热评文章</h3> </div> <ul class="hot_posts"><li><h4><a href="https://www.huoban.com/news/post/104011.html" title="零代码开发是什么?2022低代码平台排行榜">零代码开发是什么?2022低代码平台排行榜</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/131019.html" title="智能进销存库存管理系统(智慧进销存)">智能进销存库存管理系统(智慧进销存)</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/73907.html" title="在线文档哪家强?8款在线文档编辑软件推荐">在线文档哪家强?8款在线文档编辑软件推荐</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/102663.html" title="WPS2016怎么绘制简单的价格表?">WPS2016怎么绘制简单的价格表?</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/148830.html" title="定制订单管理系统(为特定需求定制的订单管理系统)">定制订单管理系统(为特定需求定制的订单管理系统)</a></h4></li><li><h4><a href="https://www.huoban.com/news/post/145308.html" title="Excel项目进度表模板,简化您的项目进度管理">Excel项目进度表模板,简化您的项目进度管理</a></h4></li></ul> </div> <div id="divLinkage" class="part clear link"> <div class="top"> <h3 class="title">友情链接</h3> </div> <div class="side divLinkage"><ul><li class="link-item"><a href="https://www.huoban.com/" target="_blank" title="伙伴云">伙伴云</a></li><li class="link-item"><a href="https://www.huoban.com/news/category-19.html" title="进销存管理">进销存管理</a></li><li class="link-item"><a href="https://www.huoban.com/news/category-3.html" title="低代码">低代码</a></li><li class="link-item"><a href="https://www.huoban.com/news/tags-12.html" target="_blank" title="Excel表格">Excel表格</a></li></ul></div> </div> </div> </div> </section> </div> <footer class="p-footer"> <div class="contant_box"> <div class="discover_tmt"> <h5 class="">伙伴云</h5> <div class="text_box"> <a href="https://jiasou.cn/" title="2B数字化营销SEO">加搜toBSEO</a> <a href="https://www.eulee.cn/article/" title="三维数据引擎">产业元宇宙资讯</a> <a href="https://www.weiling.cn/info/" title="客户营销管理资讯中心">卫瓴CRM资讯</a> <a href="https://www.zkj.com/news/" title="外呼系统新闻资讯中心">外呼系统资讯</a> <a href="https://www.transfertech.cn/news/" title="3D工业相机资讯">3D工业相机资讯</a> <a href="https://www.xinfushe.com/article/" title="灵活用工资讯">灵活用工资讯</a> <a href="http://www.weihusm.com/" title="阿伟常识网">阿伟常识网</a> <a href="http://www.ruishiqiba.com/" title="懂球帝旅游网">懂球帝旅游网</a> </div> </div> <div class="collaboration_box"> </div> <div class="we_img_box clear"> <div class="img_box"> <img src="https://www.huoban.com/news/zb_users/theme/zblog5_news/image/ewm.png" alt="" class="hover_tmt"> </div> </div> </div> <p class="info"> <a href="https://beian.miit.gov.cn" target="_blank" rel="nofollow">京ICP备12038259号</a> <span> <a href="#"></a></span> </p> </footer> <div id="backtop" class="backtop"> <div class="bt-box top"> <i class="fa fa-angle-up fa-2x"></i> </div> </div> <script charset="UTF-8" src="https://www.huoban.com/assets/js/sensorsdata.1.22.2.min.js"></script> <script charset="UTF-8"> var sensors = window['sensorsDataAnalytic201505']; sensors.init({ server_url: 'https://saapi.huoban.com/sa?project=production', heatmap:{scroll_notice_map:'not_collect'}, use_client_time:true, send_type:'beacon' }); sensors.quick('autoTrack'); </script> <script> var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); hm.src = "https://hm.baidu.com/hm.js?6444c045836d6bf27124085a4f62c2a8"; var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(hm, s); })(); </script> <script> (()=>{const e="https://analyze.jiasou.cc/api/v1/page_view/report/",n="9fe06d4884e0461caaa1de5651164d43";let t=null;const o=new Proxy({},{get:(e,n)=>localStorage.getItem(window.btoa(n)),set:(e,n,t)=>!!t&&(localStorage.setItem(window.btoa(n),t),!0)});new Promise((t=>{if(o.fingerprint)t();else{const a=function(){var e={};if(e.userAgent=navigator.userAgent||"",e.plugins=[],navigator.plugins&&navigator.plugins.length>0)for(var n=0;n<navigator.plugins.length;n++){var t={name:navigator.plugins[n].name||"",filename:navigator.plugins[n].filename||"",description:navigator.plugins[n].description||""};e.plugins.push(t)}e.languages=navigator.languages||[navigator.language||""],e.timezone=(new Date).getTimezoneOffset(),e.screenResolution={width:window.screen.width||0,height:window.screen.height||0,pixelDepth:window.screen.pixelDepth||0,colorDepth:window.screen.colorDepth||0};var o=document.createElement("canvas").getContext("2d"),a=[],i=["monospace","sans-serif","serif"];for(n=0;n<i.length;n++){var r=i[n];o.font="12px "+r,o.measureText("abcdefghijklmnopqrstuvwxyz0123456789").width>0&&a.push(r)}return e.fonts=a,e.cookieEnabled=navigator.cookieEnabled||!1,e.localStorage=void 0!==window.localStorage,e.sessionStorage=void 0!==window.sessionStorage,e.doNotTrack="1"===navigator.doNotTrack||"1"===window.doNotTrack||"1"===navigator.msDoNotTrack||"yes"===navigator.doNotTrack,e}();fetch(`${e}u/`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:n,f:window.btoa(JSON.stringify(a))})}).then((e=>{console.debug("browser fingerprint sent"),200===e.status&&e.json().then((e=>{console.debug("browser fingerprint received",e),o.fingerprint=e.fp,t()}))}))}})).then((()=>{e&&o.fingerprint&&fetch(e+`?${new URLSearchParams({token:n}).toString()}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({c:window.btoa(JSON.stringify({u:o.fingerprint,l:window.location.href,r:document.referrer}))})}).then((e=>{200==e.status&&e.json().then((e=>{e.track_id&&(t=e.track_id)}))}))})),window.addEventListener("beforeunload",(async n=>{t&&fetch(e+`?${new URLSearchParams({track_id:t}).toString()}`,{method:"GET",headers:{"Content-Type":"text/plain"},keepalive:!0}),n.returnValue=""}))})(); </script><script language="javascript" src="https://www.huoban.com/news/zb_users/plugin/ZF_ad/js/index.js?id=109"></script> <script language="javascript" src="https://www.huoban.com/news/zb_users/plugin/ZF_ad/js/ZF_ad__cookie.js"></script> </body> </html> <!--138.20 ms , 17 queries , 3677kb memory , 0 error-->