【问题标题】:Microsoft Edge F12 and Microsoft Edge Dev Tools Preview crashesMicrosoft Edge F12 和 Microsoft Edge 开发工具预览崩溃
【发布时间】:2019-11-03 20:41:21
【问题描述】:

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

经过 7 个小时的调试,我写这个问题的目的是为了自己回答这个问题

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

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

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

【问题讨论】:

    标签: excel typescript office-js microsoft-edge add-in


    【解决方案1】:

    这是 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 是一个二维数组,为了设置单元格的值,Excel API 需要二维数组 Excel.Range.values[][] =any[][]。所以如果你只想设置一个单元格的值,你必须提供一个只有一个值的多维数组。

    注意。我没有向 Microsoft 提出这个错误,因为他们不再支持 Microsoft Edge Dev Tools 预览版,而是专注于推出 Edge Chromium 版本,因此弃用了这些工具。 Edge Chromium 开发者版本中不会出现此问题,但我不知道 Edge Chromium 何时会作为 Excel 中的嵌入式浏览器推出(我们上个月才刚刚离开 IE11)

    【讨论】:

      【解决方案2】:

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

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

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

      C:\Program Files\WindowsApps\Microsoft.MicrosoftEdgeDevToolsPreview_18.924.1.0_x64__8wekyb3d8bbwe 
      

      要运行我的示例,您只需:

      npm install
      npm run build:dev
      npm start
      

      ...或纱线等价物。

      这将构建、旁加载应用程序并启动 Excel。 ?

      【讨论】:

      • Windows 10 版本 1903、Office 365 版本 1906、内部版本 1137.20230 - 这意味着 Microsoft Edge 是嵌入式 IFrame。 Edge Dev 工具预览版是 Microsoft Store 上的最新版本,发布日期为 2018 年 3 月 2 日。角 8.0.0、打字稿 3.4.5、Office-js 1.0.12。我发现 Edge Dev Tools Preview 非常不稳定。它经常崩溃。当我的代码没有错误时,它运行基金。当它有错误时,它会不断崩溃-但是当我有错误时,我需要它!非常期待微软在 Excel 中加入 Edge chromium
      • @JimbobTheSailor 您是否尝试过关闭 Office 中的性能监视器? docs.microsoft.com/en-us/office/dev/add-ins/concepts/… 有一些信息。 github.com/OfficeDev/office-js/issues/… 应该可以帮助您找到要更改的注册表项。希望这会有所帮助!
      猜你喜欢
      • 2015-12-06
      • 1970-01-01
      • 2020-09-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-28
      • 2016-02-26
      • 1970-01-01
      相关资源
      最近更新 更多