边缘扩展HTTP请求错误0x2efd



我正在尝试移植Chrome扩展到Edge。Chrome扩展工作得很好,所有HTTP请求都按预期工作。当这些相同的请求在端口中触发时,我得到这个错误:

XMLHttpRequest: Network Error 0x2efd, Could not complete operation due to Error 00002efd.

这个问题似乎出现在很多微软产品上,包括Windows Phone。也许有一个类似的答案,我的问题为这个扩展,但我允许所有的url在我的清单…

这是请求:

$http.get(url)
    .then(function () {
    })
    .catch(function () {
        var args = arguments;
    });

我也尝试过jQuery的方式:

$.ajax({
    url: url,
    success: function () {
    },
    error: function () {
        var args = arguments;
    }
});

我不能分享确切的URL,因为它是我们的业务架构的一部分,但Chrome扩展消费它只是很好。如果我直接在浏览器(Edge或Chrome)中打开URL,它会显示结果很好……我很茫然。我知道这个错误意味着请求不能连接,但是为什么呢?我该如何修复它?

似乎是一个已知的bug,截至2016-10-07尚未完全分类。

在另一个bug报告中,微软神秘地说"这是由于扩展不支持环回而设计的",并关闭了它。这肯定会与Chrome模型不兼容。

该症状似乎是Windows网络堆栈认为是本地内部网一部分的站点的连接被拒绝作为侵略性XSS预防策略的一部分。

在ms解决这个问题之前,您在扩展端肯定无能为力。如果有的话,扩展代码需要有足够的特权来做这件事,即使这会破坏它们的划分模型。

你可以对环境做一些改变。我会尝试"本地intranet"区域的Internet选项,例如设置保护模式,禁用Internet区域,或者更有可能以某种方式确保站点不被视为内部网。域名而不是IP地址也可以帮助"欺骗"Edge,使其不是内部网。

相关内容

  • 没有找到相关文章

最新更新