Internet Explorer 11 中的“未处理的承诺拒绝 TypeMismatchError”

Posted

技术标签:

【中文标题】Internet Explorer 11 中的“未处理的承诺拒绝 TypeMismatchError”【英文标题】:"Unhandled promise rejection TypeMismatchError" in internet explorer 11 【发布时间】:2019-08-26 09:43:23 【问题描述】:

我正在使用基于 potrace 的 javascript 端口:https://github.com/kilobtye/potrace 这个库将图像转换为 svg 除了(当然...)Internet Explorer 11 之外,一切正常。 我收到错误:“未处理的承诺拒绝 TypeMismatchError”

关于这个库几乎找不到任何东西,所以我希望你们中的任何编码大师都可以帮助我。

这是我使用的代码: value 是图片的base64字符串

    static changeLogo(value) 
        $("#svg-image svg, #svg-image svg").empty();
        Potrace.loadImageFromUrl(value);
        Potrace.process(function () 
            let svgImage = Potrace.getSVG(1);
            $("#svg-image").append(svgImage);
        )
    

【问题讨论】:

请查看Elegant way to include es6-promise for IE Hum 从源代码中不是很清楚,但我猜它与loadImageFromUrl 函数有关。也许看看***.com/questions/29369403/…。在源代码中您可以看到github.com/kilobtye/potrace/blob/master/potrace.js#L154。异常究竟是在哪里抛出的?顺便说一句,unhandled promise rejection 似乎是您调用changeLogo 函数的方式的人工制品,因为代码似乎是同步的。是这样吗? 感谢您的回复!我查看了代码,找不到任何承诺,IE 也没有提供有关错误的任何信息。由于这个错误很烦人,它只发生在 IE 中,代码奇怪地似乎可以工作。还是谢谢! 【参考方案1】:

根据potrace online demo,好像我们在使用这个插件的时候,只能使用loadImageFromFile()和loadImageFromUrl()方法来加载图片,而不是使用base64字符串。

【讨论】:

以上是关于Internet Explorer 11 中的“未处理的承诺拒绝 TypeMismatchError”的主要内容,如果未能解决你的问题,请参考以下文章

导航栏中的徽标在 Internet Explorer 中未正确居中

Internet Explorer 中的 CSS“未设置”/“初始”

Internet Explorer 7 从 jQuery 类选择器返回“未定义”

在 Internet Explorer 中未定义 constructor.name

Internet Explorer 11 中的光标偏移

防止 Internet Explorer 11 中的过度滚动