请教 phantomjs 问题, 怎么设置屏幕的分辨率呢? (并非浏览器显示尺寸,而是屏幕分辨率)

2016-02-10 20:10:42 +08:00
 deben
页面用 JS 来获取客户端屏幕尺寸, 一直显示是 1024*768
设置 viewportSize 只能调整浏览器的尺寸, 而不是终端设备屏幕尺寸.

有了解 phantomjs 的同学吗? 求救!

(比如简单的 JS 代码: screen.width screen.height)
3559 次点击
所在节点    问与答
3 条回复
Archangel_SDY
2016-02-10 22:23:35 +08:00
这个和 PhantomJS 其实关系不大, WebKit 里直接调的 Qt 的 API 获取物理屏幕的分辨率,恐怕你只靠 PhantomJS 的 API 是搞不定的.

https://github.com/Vitallium/qtwebkit/blob/e7b74331d695bfa8b77e39cdc50fc2d84a49a22a/Source/WebCore/platform/qt/PlatformScreenQt.cpp#L90
chemzqm
2016-02-11 00:35:22 +08:00
用 js hack 原生对象,例如

Object.defineProperty(screen,'height', {value:300})
deben
2016-02-13 01:08:46 +08:00
@Archangel_SDY @chemzqm 多谢二位的回答

最终解决方法为: 在 onInitialized 的时候, 通过 evaluate 方法, 设置了 window.screen.
算是曲线解决问题了...

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/256011

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX