window.screen.width在移动端上和PC上对应的像素是同一种么
泻药
Screen Interface 属于 CSSOM View Module
返回逻辑像素
但看起来有 quirk 情况会返回 物理像素,这跟实现是否调用了 SetReportScreenSizeInPhysicalPixelsQuirk有关,而与 PC、移动 大概念无关。
具体实现可能在某个系统判定相关的宏去设置 quirk,从而使某系统下的取值是物理像素。
而模拟情况是已经远在编译后运行的代码了,系统判定宏已经固定。这个系统被 setting 了非 quirk 的方式,就肯定不会管 devicePixelRatio。
可以看看具体实现,比如chrome 的 https://cs.chromium.org/chromium/src/third_party/WebKit/Source/core/frame/Screen.cpp?type=cs\u0026amp;amp;l=56
这时候才会与 devicePixelRatio 相关
int Screen::width() const {
if (!GetFrame())
return 0;
【window.screen.width在移动端上和PC上对应的像素是同一种么】 Page* page = GetFrame()-\u0026gt;GetPage();
if (!page)
return 0;
if (page-\u0026gt;GetSettings().GetReportScreenSizeInPhysicalPixelsQuirk()) {
WebScreenInfo screen_info = page-\u0026gt;GetChromeClient().GetScreenInfo();
return lroundf(screen_info.rect.width * screen_info.device_scale_factor);
}
return page-\u0026gt;GetChromeClient().GetScreenInfo().rect.width;
}
■网友
既然是模拟,就要模拟到位啊。手机上浏览器都是全屏的,自然window.innerWidth等于screen.width了。devicePixelRatio的值也是按照手机上来的,比如iPhone 6 Plus就是3。你也可以在devtools里自己添加新的模拟设备,指定这些值。
推荐阅读
- 西藏首台5G网络车载移动CT仪器投用
- 教育|中国移动“和教育”智慧校园研讨会在通召开
- 夕阳红|南通移动:“智慧养老”手机让“夕阳红”不孤单
- 怎样评价华为、诺基亚、中兴中标中国移动高端路由交换设备扩容集采
- MAC用终端上传 , 报错Not enough upload quota咋办?
- 为啥Smartisan OS只能支持移动的VoLTE
- 到底是移动通信技术的发展影响了手机的设计还是手机的发展带动了移动通信技术的进步
- 带电源的移动硬盘插电脑上就黑屏咋办
- 中国移动采购共享服务中心,有人了解这个中心的情况么,可以介绍一下吗
- 徐州:“法治号”地铁成为市民移动学法体验馆