当前位置: 首页 > 面试题库 >

在javascript中获取设备宽度

戚建德
2023-03-14
问题内容

有没有一种方法可以使用javascript获取html" target="_blank">用户设备的宽度,而不是视口的宽度?

我可以说CSS媒体查询提供了这一点

@media screen and (max-width:640px) {
    /* ... */
}

@media screen and (max-device-width:960px) {
    /* ... */
}

如果我将智能手机定向为横向模式,这将很有用。例如,在iOS max-width:640px上,即使在iPhone 4上,也将同时声明横向和纵向模式的声明
,据我所知,Android并非如此,因此在这种情况下使用device-width成功地同时针对两个方向,而不定位桌面设备。

但是 ,如果我基于设备宽度调用javascript绑定,则似乎只能测试视口宽度,这意味着需要进行以下额外测试,

if ($(window).width() <= 960 && $(window).height <= 640) { /* ... */ }

考虑到设备宽度可供CSS使用的提示,这对我来说似乎并不优雅。


问题答案:

您可以通过screen.width属性获取设备的屏幕宽度。
有时,在处理窗口大小通常小于设备屏幕大小的桌面浏览器时,使用window.innerWidth(通常在移动设备上找不到)而不是屏幕宽度也很有用。

通常,在处理移动设备和桌面浏览器时,我使用以下内容:

 var width = (window.innerWidth > 0) ? window.innerWidth : screen.width;


 类似资料:
  • 问题内容: 我如何解析边框宽度 在jQuery / javascript中? 不这样做。 注意我需要从css解析宽度,因为元素可能是 谢谢 编辑 我实际上并没有使用内联样式,我只是为了简单起见以这种方式编写了该代码,因为我没有意识到任何令人讨厌的差异。虽然对于内联样式它似乎工作正常,但是仍然无法从已应用的CSS类中获取任何值。 问题答案: 您可以使用 解析从 到的边框宽度 : 我周围有一个Goog

  • 通过 id 获取 device 信息 参数说明 字段 类型 必须? 说明 deviceId String 是 设备Id 接口定义 Swift: let device = RokidMobileSDK.device.getDevice(deviceId: String) -> RKDevice? Objc: RKDevice * device = [RokidMobileSDK.device ge

  • 问题内容: 如何获取Android设备名称?我正在使用HTC的愿望。当我通过HTC Sync将其连接时,软件将显示名称 “ HTC Smith” 。我想通过代码获取此名称。 在Android中怎么可能? 问题答案: 为了获得Android设备名称,您只需要添加一行代码即可: 在这里找到:getting-android-device- name

  • 通常,编写基于WinPcap应用程序的第一件事情,就是获得已连接的网络适配器列表。libpcap和WinPcap都提供了 pcap_findalldevs_ex() 函数来实现这个功能: 这个函数返回一个 pcap_if 结构的链表, 每个这样的结构都包含了一个适配器的详细信息。值得注意的是,数据域 name 和 description 表示一个适配器名称和一个可以让人们理解的描述。 下列代码能获

  • 问题内容: 以下HTML将在div.container的右侧边缘显示滚动条。 是否可以确定该滚动条的宽度? 问题答案: 此功能应为您提供滚动条的宽度 基本步骤如下: 创建隐藏的div(外部)并获取其偏移宽度 使用CSS溢出属性强制滚动条显示在div(外部)中 创建新的div(内部)并附加到外部,将其宽度设置为“ 100%”并获得偏移宽度 根据收集的偏移量计算滚动条宽度 更新资料 如果在Window

  • 问题内容: 我一直在寻找一种从C程序中获取终端宽度的方法。我不断提出的思路是: 但是每次我尝试得到 这是执行此操作的最佳方法,还是有更好的方法?如果没有,我该如何工作? 编辑:固定代码是 问题答案: 您是否考虑过使用getenv()?它使您可以获取包含端子列和行的系统环境变量。 或者,使用您的方法,如果您想查看内核显示的终端大小(最好是在调整终端大小时),则需要使用TIOCGWINSZ而不是TIO