具体代码如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width,initial-scale=1" />
<style>
* {
font-size: 1.5rem;
}
</style>
</head>
<body>
<label for="environment">Capture environment:</label>
<br>
<input
type="file"
id="environment"
capture="environment"
accept="video/*"
>
<br><br>
<label for="user">Capture user:</label>
<br>
<input
type="file"
id="user"
capture="user"
accept="image/*"
>
</body>
</html>
从这些代码中,我们可以捕获到一个信息,就是没有提示用户是否打开访问相机的权限,网页就直接调用了相机。
问题是,这样操作,没有安全风险吗?
当很多人提出疑惑的时候,Austin Gil做出了解释:无额外风险。
浏览器其实并不能真正控制手机相机APP,即便是这样操作可以直接访问,但也只不过是能轻松上传相机生成的新文件而已。
简单来说,就是对于用户而言,浏览器通过HTML只能打开手机摄像头。如果要把照片、视频展示到网站上,或是想要保存下来,还得用到JavaScript的MediaDevices API。
这样操作是比纯用JavaScript更安全的。
因为运用JavaScript,在用户允许访问相机后,浏览器就能直接控制摄像头了。
而在Web 3.0标准之后,规定网页不能直接访问用户的手机镜头。
PS:现在主要用的是Web 5的标准。