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

使用javascript检测方向变化

汪德寿
2023-03-14
问题内容

是否可以使用JavaScript在iPad或Galaxy Tab上检测浏览器方向的变化?我认为使用CSS媒体查询是可能的。


问题答案:

更新:

您可能要签出

jQuery移动方向更改

或普通的JS之一:

window.addEventListener("orientationchange", function() {
  alert(window.orientation);
}, false);

MDN:

window.addEventListener("orientationchange", function() {
    alert("the orientation of the device is now " + screen.orientation.angle);
});

较旧的答案

http://www.nczonline.net/blog/2010/04/06/ipad-web-development-
tips/

iPad上的Safari确实支持window.orientation属性,因此,如有必要,您可以使用它来确定用户是水平还是垂直模式。作为此功能的提醒:

window.orientation is 0 when being held vertically
window.orientation is 90 when rotated 90 degrees to the left (horizontal)
window.orientation is -90 when rotated 90 degrees to the right (horizontal)

旋转设备时,还会在窗口对象上触发directionchange事件。

您还可以使用CSS媒体查询来确定iPad是垂直放置还是水平放置,例如:

<link rel="stylesheet" media="all and (orientation:portrait)" href="portrait.css">
<link rel="stylesheet" media="all and (orientation:landscape)" href="landscape.css">

http://www.htmlgoodies.com/beyond/webmaster/toolbox/article.php/3889591/Detect-
and-Set-the-iPhone–iPads-Viewport-Orientation-Using-JavaScript-CSS-and-Meta-
Tags
.htm

<script type="text/javascript">
var updateLayout = function() {
  if (window.innerWidth != currentWidth) {
    currentWidth = window.innerWidth;
    var orient = (currentWidth == 320) ? "profile" : "landscape";
    document.body.setAttribute("orient", orient);
    window.scrollTo(0, 1);
  }
};

iPhone.DomLoad(updateLayout);
setInterval(updateLayout, 400);
</script>


 类似资料:
  • 问题内容: 我使用的是Swift,我希望能够在旋转到风景时加载UIViewController,有人可以指出正确的方向吗? 我在网上找不到任何东西,并且对文档有些困惑。 问题答案: 这是我的工作方式: 在里面 我把函数: 然后在AppDelegate类中放入以下函数: 希望这对其他人有帮助! 谢谢!

  • 问题内容: 我想将两个图像添加到单个图像视图(即,用于横向显示一个图像,用于纵向显示另一个图像),但是我不知道如何使用快速语言检测方向变化。 我尝试了这个答案,但只拍了一张图片 我是iOS开发的新手,任何建议将不胜感激! 问题答案:

  • 我想在单个图像视图中添加两幅图像(即横向一幅图像和纵向另一幅图像),但我不知道如何使用swift语言检测方向变化。 我试过这个答案但它只需要一个图像 我是iOS开发新手,如有任何建议,将不胜感激!

  • 问题内容: 我在下面找到此定向测试代码,以查找JQTouch参考资料。这可以在移动Safari上的iOS模拟器中正常运行,但在Phonegap中无法正确处理。我的项目遇到了与杀死该测试页相同的问题。有没有办法在Phonegap中使用JavaScript来感知方向变化? 问题答案: 这是我的工作: * 根据MDN的定义, *2019年5月更新:已弃用,大多数浏览器均不支持。该事件与window.or

  • 问题内容: 因此,我正在尝试使用JavaScript 调用函数。但是我想知道是否可以在不使用jQuery的情况下检测滚动方向。如果没有,那么有什么解决方法吗? 我本来只是想放一个“置顶”按钮,但我想避免这种情况。 我现在刚刚尝试使用此代码,但是没有用: 问题答案: 可以通过存储先前的scrollTop值并将其与当前scrollTop值进行比较来检测到它。 JS:

  • 问题内容: 我需要检测设备何时处于纵向方向,以便可以触发特殊的动画。但是我不希望我的观点自动旋转。 将设备旋转到纵向时,如何覆盖自动旋转的视图?我的应用程序仅需要以横向显示视图,但是如果我想能够检测到纵向旋转,似乎还需要支持纵向。 问题答案: 当应用程序加载或视图加载时,尝试执行以下操作: 然后添加以下方法: 以上内容可让您注册设备的方向更改,而无需启用视图的自动旋转。 在iOS的所有情况下,当您