谷歌浏览器自动播放(深入分析)

2023-12-08 21:10

本文主要是介绍谷歌浏览器自动播放(深入分析),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前言

大概是20年的时候,公司做直播项目,主要是APP端的,但是有一个H5的直播间分享功能,棒来这是前端的工作的,但是前端没空,正好我也会前端,于是就有了这篇文章,场景是这样的,用户或者主播可以在直播间内把直播间分享到微信用H5链接打开后可以直接观看直播间内容,测试了很多内核的浏览器,发现谷歌浏览器有个安全策略,禁止自动播放,当时的做法是在界面的顶层做一个模板的播放按钮,让用户点击后才能自动播放,后面研究了一下,详情如下!

分析

在这里插入图片描述
这里已经设置了autoplay为true了,但是还是在谷歌浏览器上还是不能自动,同时弹出警告
在这里插入图片描述

但是我们发现有些网站是可以自动播放的,如抖音的网页版https://www.douyin.com/
为什么我们自己写的就不可以呢!我们看看谷歌浏览器的官网
在这里插入图片描述
媒体参与度实际上就是谷歌浏览器会根据用户行为判断这个网站的自动播放是否可用,也就是如果用户每次打开这个网站,都要手动点击播放按钮,那么谷歌浏览器就会标识这个网站可以开启自动播放!

可以通过这个工具查看网站的用户参与度
在这里插入图片描述

关闭掉所有的谷歌浏览器,然后命令行输入
在这里插入图片描述

open -a "Google Chrome" --args --user-data-dir=./

这个命令就是想打开一个新安装的谷歌浏览器一样!

在这里插入图片描述
那么抖音的自动播放也被关闭了!

实际上谷歌浏览器自动播放有3种情况!

  • 设置了禁音
  • 较高的媒体参与度
  • 使用iframes嵌入,这个是有一个大前提,就是满足前两个中的一个,顶级界面已经获取到autoplay权限,并且将autoplay的权限下放到iframes中
    在这里插入图片描述

这篇关于谷歌浏览器自动播放(深入分析)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/471338

相关文章

python运用requests模拟浏览器发送请求过程

《python运用requests模拟浏览器发送请求过程》模拟浏览器请求可选用requests处理静态内容,selenium应对动态页面,playwright支持高级自动化,设置代理和超时参数,根据需... 目录使用requests库模拟浏览器请求使用selenium自动化浏览器操作使用playwright

Python获取浏览器Cookies的四种方式小结

《Python获取浏览器Cookies的四种方式小结》在进行Web应用程序测试和开发时,获取浏览器Cookies是一项重要任务,本文我们介绍四种用Python获取浏览器Cookies的方式,具有一定的... 目录什么是 Cookie?1.使用Selenium库获取浏览器Cookies2.使用浏览器开发者工具

浏览器插件cursor实现自动注册、续杯的详细过程

《浏览器插件cursor实现自动注册、续杯的详细过程》Cursor简易注册助手脚本通过自动化邮箱填写和验证码获取流程,大大简化了Cursor的注册过程,它不仅提高了注册效率,还通过友好的用户界面和详细... 目录前言功能概述使用方法安装脚本使用流程邮箱输入页面验证码页面实战演示技术实现核心功能实现1. 随机

如何在Mac上彻底删除Edge账户? 手动卸载Edge浏览器并清理残留文件技巧

《如何在Mac上彻底删除Edge账户?手动卸载Edge浏览器并清理残留文件技巧》Mac上的Edge账户里存了不少网站密码和个人信息,结果同事一不小心打开了,简直尴尬到爆炸,想要卸载edge浏览器并清... 如果你遇到 Microsoft Edge 浏览器运行迟缓、频繁崩溃或网页加载异常等问题,可以尝试多种方

Python如何将OpenCV摄像头视频流通过浏览器播放

《Python如何将OpenCV摄像头视频流通过浏览器播放》:本文主要介绍Python如何将OpenCV摄像头视频流通过浏览器播放的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完... 目录方法1:使用Flask + MJPEG流实现代码使用方法优点缺点方法2:使用WebSocket传输视

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

SpringBoot UserAgentUtils获取用户浏览器的用法

《SpringBootUserAgentUtils获取用户浏览器的用法》UserAgentUtils是于处理用户代理(User-Agent)字符串的工具类,一般用于解析和处理浏览器、操作系统以及设备... 目录介绍效果图依赖封装客户端工具封装IP工具实体类获取设备信息入库介绍UserAgentUtils

使用DrissionPage控制360浏览器的完美解决方案

《使用DrissionPage控制360浏览器的完美解决方案》在网页自动化领域,经常遇到需要保持登录状态、保留Cookie等场景,今天要分享的方案可以完美解决这个问题:使用DrissionPage直接... 目录完整代码引言为什么要使用已有用户数据?核心代码实现1. 导入必要模块2. 关键配置(重点!)3.

JavaWeb-WebSocket浏览器服务器双向通信方式

《JavaWeb-WebSocket浏览器服务器双向通信方式》文章介绍了WebSocket协议的工作原理和应用场景,包括与HTTP的对比,接着,详细介绍了如何在Java中使用WebSocket,包括配... 目录一、概述二、入门2.1 POM依赖2.2 编写配置类2.3 编写WebSocket服务2.4 浏

CSS自定义浏览器滚动条样式完整代码

《CSS自定义浏览器滚动条样式完整代码》:本文主要介绍了如何使用CSS自定义浏览器滚动条的样式,包括隐藏滚动条的角落、设置滚动条的基本样式、轨道样式和滑块样式,并提供了完整的CSS代码示例,通过这些技巧,你可以为你的网站添加个性化的滚动条样式,从而提升用户体验,详细内容请阅读本文,希望能对你有所帮助...