小编Gra*_*das的帖子

HTML5 video.play返回待定承诺

我正在尝试确定浏览器是否支持加载时自动播放.

我正在使用以下代码,它在Android Chrome上工作正常,但对于桌面Chrome,.catch或.then中的所有行都没有执行.承诺似乎只是无休止地回复未决承诺.

这是一个真正的Chrome错误还是我不明白Promises如何在这里工作?

const promise = document.createElement('video').play();

if (promise instanceof Promise) {
	promise.catch((error) => {
		// Check if it is the right error
		if (error.name === 'NotAllowedError') {
			autoPlayAllowed = false;
		} else {
			throw error;
		}
	}).then(() => {
		if (autoPlayAllowed) {
			// Autoplay is allowed - continue with initialization
			console.log('autoplay allowed')
		} else {
			// Autoplay is not allowed - wait for the user to trigger the play button manually
			console.log('autoplay NOT allowed')
		}
	});

} else …
Run Code Online (Sandbox Code Playgroud)

javascript google-chrome promise html5-video

5
推荐指数
1
解决办法
9787
查看次数

标签 统计

google-chrome ×1

html5-video ×1

javascript ×1

promise ×1