检测浏览器是否关心元视窗



我想完成一些事情,为此我需要知道浏览器是否关心元视窗。

例如,iOS版chrome将根据视口的内容进行调整。但是chrome for windows不会。

知道浏览器是否使用视口内容的最好方法是什么?

看起来设置viewport标记有点争议。听起来你的问题可能需要("一些访问者在我的网站不关心响应式设计")看看前面标记的HTMLBOY blogpost;但是,如果您继续使用它,有几件事需要注意(第一、第二和第三点才是真正的要点):

  1. 网站本身必须响应-不仅仅是浏览器,即<meta... content="width=device-width">不会做任何事情,除非你的网站知道如何缩放
  2. 确实,viewport标签目前不是任何web标准的一部分,最初是苹果专有的(这是根源,也许,你的问题)。并不是所有的浏览器都支持。
  3. 一个像素不是一个像素,即一个CSS像素不是一个物理像素——两者没有捆绑在一起(这意味着<meta>标签上的配置属性当与viewport相关时可能会变得有问题(特别是考虑到第1点)。2、以上,并在链接的MDN文章中阐明了同一点)。如欲进一步了解并发症,请参阅此处和此处
  4. (有用的提示)如果网站上的内容很重要,不要设置maximum-scaleuser-scalable=no属性。这将阻止用户更仔细地检查重要的文本。

你的问题,"知道浏览器是否使用视口内容的最好方法是什么?"的答案是,真的没有很好的方法来做到这一点。

然而,我们确实有两个属性可以帮助我们使用内联JavaScript,这两个属性与"视觉视口"(较小)和"布局视口"(更宽)这两个概念有关,这要归功于"过去"浏览器之间的不兼容性。

可视视窗是用户在他或她的屏幕上看到的部分-当前看到的部分。这是在检查大于设备屏幕的内容时滚动的内容。

与CSS相关的所有内容都是根据布局视口计算的。正如链接文章所述,"布局视窗有多宽?"这在不同的浏览器中是不同的。"

因此元素采用布局视窗的宽度初始化,并且CSS被解释为好像屏幕是比手机屏幕宽很多。这确保了你的网站的布局和桌面浏览器一样。

那么,我们如何利用这一点为我们的优势呢?

我们无法检测浏览器是否支持标签;但是,我们可以检测浏览器是否应用了它。我不想重新发明轮子,所以我将把你链接到这个so答案,然后是一篇深入探讨这个话题的文章(上面已经有链接)。这些知识将为你指明正确的方向。

最新更新