marb
火狐狸
火狐狸
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2018-12-18
  • 发帖数262
  • 经验313枚
  • 威望0点
  • 贡献值354点
  • 好评度16点
阅读:345回复:3

大家看看这个脚本问题在哪里

楼主#
更多 发布于:2018-08-09 18:39
https://greasyfork.org/en/scripts/29352-screen-resolution-spoof
// ==UserScript==
// @name        Screen Resolution Spoof
// @namespace   r-a-y/browser/screen
// @description Alters attempts at fingerprinting your screen resolution to 1920x1080. Only tested in FIrefox.
// @include     *
// @version     1.1.4
// @grant       none
// @run-at      document-start
// ==/UserScript==

Object.defineProperty(window.screen, "availWidth", { get: function(){return 1920; }});
Object.defineProperty(window.screen, "width", { get: function(){return 1920; }});

Object.defineProperty(window.screen, "availHeight", { get: function(){return 1080; }});
Object.defineProperty(window.screen, "height", { get: function(){return 1080; }});

Object.defineProperty(window, "innerWidth", { get: function(){return 1920; }});
Object.defineProperty(window, "innerHeight", { get: function(){return 974; }});

Object.defineProperty(window, "outerWidth", { get: function(){return 1920; }});
Object.defineProperty(window, "outerHeight", { get: function(){return 1040; }});

Object.defineProperty(window, "devicePixelRatio", { get: function(){return 1; }});


为何在http://service.spiritsoft.cn/ua.html上检测不生效,
taoww
狐狸大王
狐狸大王
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2018-12-18
  • 发帖数371
  • 经验338枚
  • 威望0点
  • 贡献值70点
  • 好评度44点
1楼#
发布于:2018-08-10 16:37
一句话:异步执行没赶上趟。

在mozilla决定转webextension时我就说过了,webextension自身的异步执行机制决定了那些强烈依赖同步功执行能的扩展都要完蛋。

比如你这个脚本。开头写了document-start,原意是在页面的根节点构造好后就执行,由于js的单线程特性,同步执行时可以保证页面中的东西都还没有开始解析。但现在webextension弄成异步执行了,页面的解析工作并不会停下来等扩展来加载你的脚本。这个页面本身又很简单,所以脚本运行时页面都解析完成了,页面中的js都执行完毕了。你再去改那些属性也没用了。
marb
火狐狸
火狐狸
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2018-12-18
  • 发帖数262
  • 经验313枚
  • 威望0点
  • 贡献值354点
  • 好评度16点
2楼#
发布于:2018-08-10 17:17
哦哦哦,所以这个扩展https://addons.mozilla.org/zh-CN/firefox/addon/chameleon-ext/?src=search引入了禁止webextension来保证扩展的运行。
taoww
狐狸大王
狐狸大王
  • UID39284
  • 注册日期2013-03-18
  • 最后登录2018-12-18
  • 发帖数371
  • 经验338枚
  • 威望0点
  • 贡献值70点
  • 好评度44点
3楼#
发布于:2018-08-10 19:31
marb:哦哦哦,所以这个扩展https://addons.mozilla.org/zh-CN/firefox/addon/chameleon-ext/?src=search引入了禁止webextension来保证扩展的运行。回到原帖
你看错了。webextension就是57+扩展机制本身,你说的是websocket
游客

返回顶部