Microsoft Edge F12 和 Microsoft Edge 开发工具预览版崩溃



Microsoft Edge F12 工具和 Microsoft Edge 开发工具预览版应用在打开时崩溃。使用新的 Microsoft Edge Chromium 版本的同一网站上不会出现此问题。

我写这个问题的目的是在浪费了 7 个小时的调试后自我回答它

我正在使用刚刚推出的新Microsoft Edge WebView for office-addins开发一个Excel加载项,并将IE11替换为Excel中的嵌入式IFrame(请参阅 https://developer.microsoft.com/en-us/office/blogs/microsoft-edge-webview-for-office-add-ins/)。在上个月推出后,问题出现了。

崩溃是可预测的,在激活工具后 5 秒后发生。在 Edge 浏览器中使用 F12 工具以及使用独立的开发工具预览版远程连接到在 MS Excel 中运行的 Edge 浏览器时,会发生这种情况。

(我不会放应用事件日志,因为我已经解决了)

这是一个Microsoft错误,而不是编码错误。

当使用Typescript并定义仅包含一个元素的多维数组并且仅在异步函数中时,它总是发生

async myFunc(){
let x:number[][] = [[9]]; //Edge F12 tool will crash simply by having this line
}

在非异步函数中不会出现此问题,如果将变量定义为类成员,则不会出现此问题。如果定义了多个元素,则不会发生这种情况。解决方法是将变量定义为私有类成员

public x:number[][] = [[9]]; //ok as member variable
let x:number[][] = [[9,2]]; //ok - even in async function

对于那些读到这篇文章的人,他们正确地问">为什么要定义一个只有 1 个元素的多维数组"。这是因为 MS Excel 是一个 2D 数组,要设置单元格的值,Excel API 需要二维数组 Excel.Range.values[][] =any[][]。因此,如果您只想设置一个单元格的值,则必须提供一个只有一个值的多维数组。

铌。我没有向Microsoft提出错误,因为它们不再支持 Microsoft Edge 开发工具预览版,而是专注于推出 Edge Chromium 版本,从而弃用这些工具。该问题在Edge Chromium开发人员版本中没有发生,但我不知道Edge Chromium何时会作为Excel中的嵌入式浏览器推出(上个月我们刚刚离开IE11)

@JimbobTheSailor 感谢您抽出宝贵时间报告问题,并回来提供问题的可能原因。

我知道你已经在这个问题上花了很多时间,但我希望你能提供一个示例代码文件,甚至是 npm 包,这会导致问题吗?我去添加了您的代码并尝试重现该问题,但我无法重现。 GitHub 存储库!通过提供整个包或示例,我还可以看到不同版本的 TypeScript 和其他依赖项。您也可以在此处列出它们。 🙃

如果可能的话,并且不介意抓住它,你能提供你正在使用的Windows版本吗?开始 |运行 |温弗 .另外,DevTools 预览版的版本?例:

C:Program FilesWindowsAppsMicrosoft.MicrosoftEdgeDevToolsPreview_18.924.1.0_x64__8wekyb3d8bbwe 

要运行我的示例,您所要做的就是:

npm install
npm run build:dev
npm start

。或纱线等效物。

这将生成、旁加载应用并启动 Excel。 🙃

最新更新