自 2019 年 8 月 28 日以来,Edge 中的 Facebook 连接 javascript SDK 问题

Facebook connect javascript SDK issue in Edge since 28th August 2019

我们注意到 facebook 连接问题仅适用于 Edge 浏览器:

Failed to construct 'Request': Invalid argument.

堆栈跟踪:

TypeError: Failed to construct 'Request': Invalid argument. at Anonymous function (https://d2zah9y47r7bi2.cloudfront.net/releases/current/tracker.js:21:358) at h (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:108:10805) at c (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:108:11202) at z (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:108:5265) at d (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:108:12427) at Anonymous function (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:151:1716) at Anonymous function (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:95:924) at Array.prototype.forEach (native code) at c (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:45:1595) at a.fire (https://connect.facebook.net/en_US/sdk.js?hash=0f8f5b593a5516f4964c585f61d84200&ua=modern_es6:95:891)

受影响的浏览器:

Edge 18.18362 Edge 17.17134 Edge 18.17763 Edge 16.16299 Edge 15.15063

是SDK内部问题还是我们这边的问题?

此错误的根本原因是所有已知版本的 Microsoft Edge 中的错误。具体来说,当创建用于 fetchRequest 对象时,如果键 referrerPolicy 作为初始化选项提供,Edge 将抛出此错误。

referrerPolicy 大约在一年前(2018 年 6 月)添加到规范中,因此尚未添加它是可以理解的。但是,他们不应该为不受支持的选项抛出错误。

Facebook SDK 在其最新版本的代码中使用了此选项,该版本似乎已于 2019 年 8 月 27 日左右发布。从那时起,我们发现数百个互联网站点的此错误显着增加.

我已经打开了两个 Microsoft and Facebook 的错误。

此错误影响摘要来自 TrackJS JavaScript Error Monitoring 数据。

更新:

我们写了a full summary of the Edge bug and Facebook impact here