GVKun编程网logo

在iPad上强制定位 – javascript(javascript指什么)

2

对于想了解在iPad上强制定位–javascript的读者,本文将是一篇不可错过的文章,我们将详细介绍javascript指什么,并且为您提供关于HTML–如何在ipad上强制精确缩放、ipad上的J

对于想了解在iPad上强制定位 – javascript的读者,本文将是一篇不可错过的文章,我们将详细介绍javascript指什么,并且为您提供关于HTML – 如何在ipad上强制精确缩放、ipad上的Javascript加载缓慢、JavaScript – HTML5视频“黑屏”在iPad上、javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时)的有价值信息。

本文目录一览:

在iPad上强制定位 – javascript(javascript指什么)

在iPad上强制定位 – javascript(javascript指什么)

我正在iPad的浏览器中构建一个应用程序,并想知道是否可以锁定视口的方向?我检查了苹果的文档,我发现的唯一的东西是只读: https://developer.apple.com/documentation/webkitjs/domwindow/1632568-orientation

我认为这意味着无法在浏览器中锁定方向.有人有任何想法吗?

解决方法

不.我想这对用户来说似乎过于严格,因此您只能检测UI方向.锁定方向的唯一方法是设备侧面的外部开关.

有关检测它的代码,请参阅this answer.您也可以使用window.orientation来获取它.

对于我的webapps,我只是有一个弹出视图,提醒用户在不希望方向时旋转他们的设备.您甚至可以考虑针对不同方向的两个UI设置,以获得更加可定制的体验.

HTML – 如何在ipad上强制精确缩放

HTML – 如何在ipad上强制精确缩放

我想要实现的是:在ipad处于横向模式时强制缩放1.0,在纵向模式下强制缩放0.75,但禁用用户缩放.我尝试了Meta视口标记的所有组合,但没有任何效果:

>当用户可扩展为否时,横向工作正常,但无论我如何设置最大和最小尺度,它都不会纵向缩放到0.75
>当用户可扩展性为是时,它有时可以正常工作,但由于有很多用ajax添加内容,有时当页面变长时,页面会缩小以适应屏幕上的整个页面,我想防止

那么,有没有办法强制缩放到确切的数字?或者在页面长度变化时禁用缩放? (页面宽度应始终为1024px,不同方向没有不同的css,宽度=设备宽度,我只需缩放)

解决方法

帕特里克的答案很有用,这是一个更加经过测试的版本

var checkOrientation;
checkOrientation = function() {
  var viewport;
  viewport = document.querySelector("Meta[name=viewport]");
  if (window.orientation === 90 || window.orientation === -90) {
    return viewport.setAttribute("content","width:device-width,initial-scale=1.0,user-scalable=1");
  } else {
    return viewport.setAttribute("content",initial-scale=0.6,user-scalable=1");
  }
};
window.onorientationchange = function() {
  return checkOrientation();
};
checkOrientation();

别忘了把它放在你的文件头上:

<Meta name="viewport" content="width=device-width,initial-scale=1,maximum-scale=1">

请注意,其中一个区别是参数中的逗号而不是分号

ipad上的Javascript加载缓慢

ipad上的Javascript加载缓慢

我有一个基本的 HTML网站(html5,JavaScript,jQuery),我在iPpad2上运行.我使用谷歌浏览器进行基本测试,只是为了测试布局图像和复制等.我的真实测试需要在真正的iPad上.

在iPad上,我的代码似乎有2-4秒的延迟,而Chrome则立即加载.我一直无法找到瓶颈.我在代码中的各个点添加了警报,但所有警报立即出现,一个接着一个,似乎延迟发生在最后一个代码的最后一个警报之后.

警报可能会产生误导,因为代码在执行之前可能会被缓存?为了加快iPad上的速度,我的代码中是否应该寻找或避免?

解决方法

iPad比运行谷歌浏览器的桌面慢得多.预计需要花费更长的时间来做事.

如果它是10-20秒,我会说检查你的代码,但2-4秒对于页面加载是不合理的.

JavaScript – HTML5视频“黑屏”在iPad上

JavaScript – HTML5视频“黑屏”在iPad上

我正在建立一个内置视频的网站.这个网站需要照顾iPad用户,但是我现在在使用ol视频标签时遇到麻烦.我有一个视频在浏览器中播放不错,但不幸的是在iPad上.

我只是用iPad屏幕黑屏,没有任何错误信息.

这是我的视频代码

<video id="movie" width="790" height="250" controls >
    <source src="anim/intro.ipad.mp4"  type='video/mp4; codecs="avc1.42E01E,mp4a.40.2"'>
    <source src="anim/intro.webm" type='video/webm; codecs="vp8,vorbis"'>
    <source src="anim/intro.theora.ogv"  type='video/ogg; codecs="theora,vorbis"'>
</video>
<script>
    var v = document.getElementById("movie");
    v.onclick = function() {
        if (v.paused) {
            v.play();
        } else {
            v.pause();
        }
    };
</script>

这些视频都是在关于HTML5视频的教程之后创建的.它们都使用Miro Video转换器上的首选iPad设置进行编码.

只是这个事情(我不知道会)会在iPad模拟器上测试视频.

无论我做什么,我都无法让视频播放:

解决方法

你确定你的编码是否正确?
尝试这样来测试它:

<video src="anim/intro.ipad.mp4" controls>  
      Your browser does not support the video element.  
</video>

javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时)

javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时)

我有一个隐藏< audio>的页面通过 javascript使用自定义按钮启动和停止的对象. (原因是我想自定义按钮,而绘制音频播放器似乎会破坏iPad上的渲染性能).一个简化的例子(在coffeescript中):

// Works fine on all browsers

constructor: (@_button,@_audio) ->
  @_button.on 'click',@_play          // Bind button's click event with jQuery

_play: (e) =>
  @_audio[0].play()                    // Call play() on audio element

当从绑定到click事件的函数触发时音频播放正常,但我实际上想要在播放文件之前完成动画,所以我将.play()放在setTimeout中.但是,我无法让这个工作:

// Will not play on iPad

constructor: (@_button,@_play          // Bind button's click event with jQuery

_play: (e) =>
  setTimeout (=>                       // Declare a 300ms timeout
    @_audio[0].play()                  // Call play() on audio element
  ),300

我已经检查过@_audio(this._audio)是否在范围内,并且它的play()方法存在.为什么这不适用于iPad?

编辑:实际上,上面的简化测试用例确实有效.请参阅下面的@apsillers的回答以及我对它的评论.

解决方法

见 Apple’s iOS considerations guide:

…the JavaScript play() and load() methods are also inactive until the user initiates playback,unless the play() or load() method is triggered by user action. In other words,a user-initiated Play button works,but an onLoad="play()" event does not.

尽管setTimeout()本身位于用户启动的函数中,但似乎您的setTimeout()回调不符合用户启动的操作.

建议:我没有要测试的iOS设备,但是当用户按下按钮时可能正在进行初始播放/暂停将减轻此限制.也就是说,你调用play()然后立即暂停它,然后使用play()调用调用animate和setTimeout()函数.这使得用户启动的功能让iOS知道将来加载和播放此视频是可以的.

关于在iPad上强制定位 – javascriptjavascript指什么的介绍已经告一段落,感谢您的耐心阅读,如果想了解更多关于HTML – 如何在ipad上强制精确缩放、ipad上的Javascript加载缓慢、JavaScript – HTML5视频“黑屏”在iPad上、javascript – HTML5音频对象无法在iPad上播放(从setTimeout调用时)的相关信息,请在本站寻找。

本文标签: