iPad Safari上HTML5视频中的事件监听器不起作用?

问题描述 投票:6回答:1

我已经在<head>中找到了它:

<script>
      function log(event){
     var Url = "./log.php?session=<?php echo session_id(); ?>&event=" + event;

        xmlHttp = new XMLHttpRequest(); 
        xmlHttp.open( "GET", Url, true );
        xmlHttp.send( null );

    }
</script> 

[<body>中的这个:

<video id="video" src="./video/LarryVideo.mp4" 
  controls="controls" 
  poster="./img/video_poster.jpg"
  onabort="log('onabort');"
  oncanplay="log('oncanplay');"
  oncanplaythrough="log('oncanplaythrough');"
  ondurationchange="log('ondurationchange');"
  onemptied="log('onemptied');"
  onended="log('onended');"
  onerror="log('onerror');"
  onloadeddata="log('onloadeddata');"
  onloadedmetadata="log('onloadedmetadata');"
  onloadstart="log('onloadstart');"
  onpause="log('onpause');"
  onplay="log('onplay');"
  onplaying="log('onplaying');"
  onprogress="log('onprogress');"
  onratechange="log('onratechange');"
  onreadystatechange="log('onreadystatechange');"
  onseeked="log('onseeked');"
  onseeking="log('onseeking');"
  onstalled="log('onstalled');"
  onsuspend="log('onsuspend');"
  ontimeupdate="log('ontimeupdate');"
  onvolumechange="log('onvolumechange');"
  onwaiting="log('onwaiting');">
    <script>
        QT_WriteOBJECT('./video/LarryVideo.mp4',
            '380px', '285px',           // width & height
            '',                         // required version of the ActiveX control, we're OK with the default value
            'scale', 'tofit',           // scale to fit element size exactly so resizing works
            'emb#id', 'video_embed',    // ID for embed tag only
            'obj#id', 'video_obj');     // ID for object tag only
    </script> 
</video>

我的普通Safari会按预期创建漂亮的日志文件条目。 iPad的Mobile Safari却什么也没做。

这可能有什么问题吗?

javascript ipad video mobile-safari dom-events
1个回答
38
投票

我也无法在ipad上保持就绪状态,但是您可能会获得其他事件,或多或少可以让您推断就绪状态。

var audio = new Audio("someSource.mp3");
    audio.play(); 
 /* you may need to use .load() depending on how the event was initiated */
    audio.addEventListener("canplay", handleCanPlay, false);
    audio.addEventListener("durationchange", handleDurationChange, false);

但是请说清楚,问题是苹果公司几乎在告诉整个世界,他们使用互联网是错误的。的确,每个人都讨厌在加载第二秒钟就开始播放音乐的网站,但随后Apple疯狂并取消了不是由用户手势明确发起的ANY / ALL音频/视频缓冲,因为Apple显然认为他们的用户太迟钝了,如果网站打扰他们,请点击“返回”;粉丝们也同意。如果我们敢于尝试和管理任何类型的声音效果,那么基本上这使我们其余的人可以摆脱应用程序的困扰。我知道这不是一个值得夸耀的地方...但是如果在iPad上用HTML5构建任何有趣的/交互式的体验不是一个又一个的Facepalm,那我该死的...这是5mb缓存限制如果页面上*图片过多(根据Apple)或难以预加载任何媒体以增强UI的情况下,浏览器就会崩溃-严重的是,在wordpress博客和rss阅读器之外,移动Safari的HTML5实现是毫无价值的。因此,HTML5“一次构建,随处播放”的价值主张梦想成真,我们回到开发本机应用程序……至少这为我们提供了良好的工作安全性/ rant

© www.soinside.com 2019 - 2024. All rights reserved.