marb
非常火狐
非常火狐
  • UID56238
  • 注册日期2017-12-25
  • 最后登录2023-04-12
  • 发帖数894
  • 经验1041枚
  • 威望0点
  • 贡献值1150点
  • 好评度50点
阅读:1171回复: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
  • 最后登录2025-04-21
  • 发帖数662
  • 经验607枚
  • 威望0点
  • 贡献值110点
  • 好评度114点
1楼#
发布于:2018-08-10 16:37
一句话:异步执行没赶上趟。

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

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

返回顶部