Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 检测浏览器是否关心元视口_Javascript_Jquery_Mobile_Viewport - Fatal编程技术网

Javascript 检测浏览器是否关心元视口

Javascript 检测浏览器是否关心元视口,javascript,jquery,mobile,viewport,Javascript,Jquery,Mobile,Viewport,我想完成一些事情,为此我需要知道浏览器是否关心元视口 例如,chrome For iOS将根据视口的内容进行调整。但chrome for windows不会 了解浏览器是否使用视口内容的最佳方法是什么?看起来设置视口标记需要一点时间。听起来你的问题可能会保证(“我网站上的一些访问者不关心响应性设计”)查看前面标记的HTMLBOYblogpost;但是,如果您继续使用它,有几件事需要注意(第一、第二和第三点实际上是要点): 网站本身必须具有响应性——不仅仅是浏览器,也就是说,不会做任何事情,除非你

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

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


了解浏览器是否使用视口内容的最佳方法是什么?

看起来设置
视口
标记需要一点时间。听起来你的问题可能会保证(“我网站上的一些访问者不关心响应性设计”)查看前面标记的HTMLBOYblogpost;但是,如果您继续使用它,有几件事需要注意(第一、第二和第三点实际上是要点):

  • 网站本身必须具有响应性——不仅仅是浏览器,也就是说,
    不会做任何事情,除非你的网站知道如何扩展
  • 这是因为
    viewport
    标记目前不是任何web标准的一部分,它最初是Apple专有的(这可能是问题的根源)
  • ,即CSS像素不是物理像素-两者没有联系在一起(这意味着
    标记上的配置属性在与
    视口相关时可能会出现问题(特别是考虑到上面的第2点,并在链接的MDN文章的同一点中阐明)。如需进一步阅读有关并发症的内容,您可以阅读
  • (帮助提示)如果网站上的内容很重要,请不要设置
    最大比例
    用户可缩放=否
    属性。这将阻止用户更仔细地检查重要文本
  • 现在所有这些都已经过去了……

    对于您的问题“了解浏览器是否使用视口内容的最佳方法是什么?”的答案是,实际上没有很好的方法可以做到这一点

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

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

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

    因此,元素采用布局视口的宽度 最初,您的CSS被解释为屏幕 明显比手机屏幕宽。这确保您的 站点的布局与桌面浏览器上的布局相同

    那么,我们如何利用这一优势呢


    我们无法检测浏览器是否支持该标记;但是,我们可以检测浏览器是否应用了该标记。我不打算重新发明轮子,因此我会将您链接到此某某,然后再链接一个which(已在上面链接)深入研究该主题。这些知识应该为您指明正确的方向。

    虽然可能有办法做到这一点,但您似乎已将原始问题分为两部分:简单问题和不可能问题。如果您将原始问题也包括在问题中,可能会有所帮助。最好使用功能d检测,即“var isTouch=(窗口中的“ontouchstart”);根据前面的回答:我网站中的一些访问者不关心响应性设计,而更喜欢使用“完整的”设计。关闭响应功能的方法很少,我发现对我来说最有效的方法是操作视口数据。但我需要知道浏览器是否支持它,所以如果不支持,我可以提供某种回退。这是一个合法的问题,像检查是否启用了触摸这样的启发式方法无法解决问题——就我们所知,桌面浏览ers将在某个点开始响应视口标记。