如何解决此错误 script5007 unable to get 属性 'getDisplayMedia' of undefined or null reference on IE?

How to work around this error script5007 unable to get property 'getDisplayMedia' of undefined or null reference on IE?

我正在编写一个脚本来了解我的浏览器是否支持屏幕共享。我的脚本适用于除 Internet Explorer 之外的所有浏览器(Chrome、Opera、Firefox、Edge、Safari),我不知道是什么问题。

你能给我答案吗

var getDisplayMedia;
    // Screen sharing is supported by the browser 
    if (navigator.mediaDevices.getDisplayMedia || navigator.getDisplayMedia){
        getDisplayMedia = "O";
    }else {
        getDisplayMedia = "N";
    }
    console.log(getDisplayMedia);

在 Chrome、Opera、Firefox、Edge、Safari 上returnsO 或 N。 但在 IE 上出现此错误: script5007 无法获取 属性 'getDisplayMedia' 未定义或空引用

根据 MediaDevices 文档的 browser compatibility 部分,IE 不支持它。

我建议在检查 mediaDevices 属性之前检查 navigator.userAgentindexOf("MSIE")

您需要先检查 navigator.mediaDevices 是否存在,然后再检查其属性之一。

var getDisplayMedia;
// Screen sharing is supported by the browser 
if (navigator.mediaDevices && navigator.mediaDevices.getDisplayMedia || 
    navigator.getDisplayMedia
){
    getDisplayMedia = "O";
}else {
    getDisplayMedia = "N";
}

console.log(getDisplayMedia);