根据Google Developers,只要def mock_open(*args, **kargs):
f_open = unittest.mock.mock_open(*args, **kargs)
f_open.return_value.__iter__ = lambda self : iter(self.readline, '')
return f_open
属性设置为启用,您就可以在移动设备上自动播放HTML5视频。
我正在使用the following code进行测试。
muted
请注意,我没有在DOM中包含<script>
const video = document.createElement('video');
// TODO: Include video in DOM to test the change.
video.addEventListener('playing', event => alert('The video is playing off-screen.'));
video.autoplay = 'true';
video.muted = 'true';
video.src = 'http://clips.vorwaerts-gmbh.de/VfE_html5.mp4';
</script>
元素(我使用video
对其进行后处理,因此无需显示)。我得到 IntersectionObserver.observe(target):target元素不是root的后代 which is caused by muted
being set on the video
but it not being in DOM。
在桌面Chrome 55.0.2883.87 m(64位)上显示canvas
。在移动Chrome 55.0.2883.91(alert
)上,它不是。当navigator.userAgent
在DOM中时,两个版本都有效。与桌面设备相比,移动浏览器中没有额外的警告。
这是移动Chrome中的错误吗?
答案 0 :(得分:1)
来自docs(强调我的):&#34;如果视频元素进入视图,如果设置了自动播放和静音,则会自动开始播放...& #34;
(顺便提一句,根据你的评论,display: none
并不算作在视图中,但visibility: hidden
会