15

在浏览网页时,我需要将我的屏幕分辨率伪装成我正在查看的网站,但保持我的视口不变(Chrome 或 FF 的模拟并不能解决我的问题)。

例如,如果我从具有 1920x1080px 分辨率的全屏模式浏览器访问 http://www.whatismyscreenresolution.com/ ,我希望该站点认为我使用的是 1024x728px但仍然能够以全屏模式浏览。

我的一个猜测是我需要以某种方式覆盖 js 变量 screen.width 和 screen.height (或者完全摆脱 js,但特定站点无法在禁用 js 的情况下工作),但是如何?那就足够了吗?

这是出于匿名目的,我希望我不需要详细解释。即使我从各种设备访问该站点,我也需要将其视为一个设备(Tor 浏览器不是一个选项 - 更改 IP)。我使用的浏览器是 firefox 30.0,它在我远程连接的 VPS (Xubuntu 14.04) 上运行。

这个线程(Spoof JS Objects)让我很接近但还不够,它仍然没有答案。我已经在这个问题上苦苦挣扎了很长时间,所以任何建议都非常感谢!

4

2 回答 2

1

您提供的网站使用以下 Javascript 来确定要显示的宽度/高度值:

    height = screen.height;
    width = screen.width;

    res = document.getElementById ('resolutionNumber');
    res.innerHTML = width + " X " + height;

如果您只关心确保这些值发生变化,您可以在执行其代码之前执行以下操作:

    screen = new function() { this.width = 1; this.height = 2 }

如果您关心屏幕对象的其他属性,则需要一些额外的 Javascript 来保留这些属性。

要查看实际情况,请加载他们的页面,然后使用 Firefox 或 Chrome 开发工具在他们的 Javascript 中放置一个调试器(第 116 行,上面写着height = screen.height;),执行上述覆盖,然后按播放!

如果您想对您访问的每个页面都执行此操作,则需要将其合并到 Chrome 或 Firefox 扩展中(我已经制作了自定义 Chrome 扩展,非常简单)。

于 2016-01-14T17:24:14.647 回答
0

找到了一种方法,用firefox。

  1. 转到所需的网站
  2. 通过转到工具 -> 开发人员 -> 响应式网页设计来访问该工具
  3. 输入您喜欢的分辨率,然后刷新当前选项卡,网站将根据您设置的屏幕分辨率重新加载网站
于 2021-03-16T14:45:43.190 回答