获取网页路由
获取网络协议
location.protocol //打印http: 或者 https:
获取端口号
location.port //端口号 或 空
//注意:浏览器默认会忽略常用端口,http是80端口,https443端口
获取完整url路径
location.href //完整url路径 https://mp.csdn.net/mp_blog/creation/editor?spm=1001.2014.3001.4503
获取域名
location.hostname //mp.csdn.net
获得浏览器麦克风权限
//麦克风权限获取
if (!navigator.mediaDevices.getUserMedia) {
this.micStatus = 'notHttps'
console.log('micStatus---noHttps-------------');
}
navigator.mediaDevices.getUserMedia({ audio: true }).then(stream => {
this.micStatus = 'ready'
stream.getAudioTracks().forEach(track => track.stop())
console.log('micStatus---ready-------------');
}).catch(e => {
console.log('micStatus---error-------------');
if (e.name === 'NotAllowedError') {
this.micStatus = 'notAllow'
}
if (e.name === 'NotFoundError') {
this.micStatus = 'notFound'
}
})
navigator对象
提供当前浏览器及操作系统等信息,navigator对象也是window对象的成员。
Navigator.mediaDevices 属性返回一个MediaDevices对象,MediaDevices 界面提供对连接的媒体输入设备(如相机和麦克风)以及屏幕共享的访问。从本质上讲,它可以让您访问媒体数据的任何硬件源。
该对象提供了5个api: enumerateDevices()、getDisplayMedia()、getSupportedConstraints()、getUserMedia()、selectAudioOutput()
- enumerateDevices():列举可用的媒体输入和输出设备,例如麦克风、相机、耳机等。返回结果未可用设备信息的数组;
- getDisplayMedia(opitons) :调用后会提示用户选择并授予权限,以将显示内容或其一部分(例如窗口)捕获为MediaStream(媒体内容流),即共享屏幕内容;
参数options举例:getDisplayMedia({ video:true, audio:false })
说明:video:true指内容流包含视频轨道;audio:false指内容流不包含音频轨道
- getSupportedConstraints(): 方法返回用户代理(即浏览器)支持的约束列表,数据格式为对象字典,键为约束的属性,值都为true(因为返回的都是支持的约束,所有都为true)。
- getUserMedia(options) :方法询问用户是否允许使用媒体输入,即调用录制视频或者录音等功能,该媒体输入会产生包含所请求媒体类型的轨道,包括视频轨道(由硬件或虚拟视频源产生,例如相机、视频录制设备、屏幕共享服务等)、音频轨道(类似地,由物理或虚拟音频源,如麦克风、A/D 转换器等),可能还有其他音轨类型。
参数options:getUserMedia({ video:true, audio:false })
说明:该参数只有video和audio两个属性,即授予录制视频和录音权限。
- selectAudioOutput() :方法提示用户选择特定的音频输出设备,例如扬声器或耳机。