声明:
该文章为学习使用,严禁用于商业用途和非法用途,违者后果自负,由此产生的一切后果均与作者无关。
本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!
前言
这次会简单的讲解228滑块普通版本与某宝版本的区别,区别有三点,下面会讲解。如果有疑问可以在评论区交流讨论,我看到会及时回复的,另外,有需要可私信我。
一、区别一 代码格式化
某宝的228版本,在overrides 中如果代码格式化后,滑块会验证失败。以及如果,在overrides 中修改代码,比如添加console代码,也会验证失败。但是普通版本的228滑块则不会。这一点需要注意。如果要在overrides 中修改代码,一定是要在没有被格式化之前修改。
二、区别二 补环境
某宝228版本,在补环境环节新增了原型链的检测。检测点有:
Document.prototype 中的head。
window.PerformanceEntry.prototype 中name.
可能还有其他。但是我目前就只补了这两个
三、区别三 轨迹
下面给出两张图,就能看出区别
1.某宝的轨迹数据。
图片中ttd是定义的一个数组,用来存放浏览器中滑动的轨迹。
可以看出 数组长度与V[103]一致。下面看一下,具体的ttd数据。
从图片中可以看出轨迹的初始值是clientX = 6,多次测试,也可以是clientX = 0,能看出轨迹是从0开始变化的。而且对生成V[103]的数组打断点,只有在移动到滑块整体弹框时才会断住。因此可以判断轨迹的移动范围就是弹框的范围。
2.普通版本的轨迹数据。
从图片中可以看出轨迹的初始值是clientX = 650,可以多次测试,clientX的范围,而且对生成V[103]的数组打断点,只要移动到屏幕就会断住,根据clientX 的范围,可以判断轨迹移动的范围是整个电脑屏幕。但是设计初始值的化可以给定一个范围。