Microsoft Edge F12工具和Microsoft Edge Dev Tool Preview应用在打开时崩溃。使用新的Microsoft Edge Chromium版本在同一网站上不会发生此问题。
我正在编写此问题,目的是在经过7个小时的调试损失后自行回答
我正在使用新的Microsoft Edge WebView开发Office加载项的Excel加载项,该插件刚刚推出,并用Edge将IE11替换为Excel中的嵌入式IFrame(请参见https://developer.microsoft.com/en-us/office/blogs/microsoft-edge-webview-for-office-add-ins/)。在上个月推出之后,出现了问题。
崩溃是可以预见的,在激活工具5秒后发生。在Edge浏览器中使用F12工具以及使用独立的Dev Tools Preview远程连接到在MS Excel中运行的Edge浏览器时,会发生这种情况。
(因为我已经解决了问题,所以我不会放置应用程序事件日志)
答案 0 :(得分: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是2D数组,并且要设置单元格的值,Excel API需要二维数组Excel.Range.values [] [] = any [] []。因此,如果您只想设置一个单元格的值,则必须提供一个只有一个值的多维数组。
NB。我没有提出Microsoft的错误,因为它们不再支持Microsoft Edge Dev Tools预览,而是专注于推出Edge Chromium版本,因此不推荐使用这些工具。 Edge Chromium开发人员版本中不会出现此问题,但是我不知道何时将Edge Chromium作为Excel中的嵌入式浏览器推出(我们上个月仅将IE11留在了后面)
答案 1 :(得分:0)
@JimbobTheSailor 感谢您抽出宝贵的时间报告问题,并再次提出问题的可能原因。
我知道您已经在此问题上花费了很多时间,但是我希望您可以提供一个示例代码文件,甚至是npm软件包,这将导致此问题?我去了并添加了您的代码,并试图重现该问题,但是我做不到。 GitHub Repo!通过提供整个程序包或示例,我还可以看到TypeScript和其他依赖项的不同版本。您也可以在此处列出它们。?
如果可能,并且不介意抓住它,能否提供您使用的Windows版本?开始|运行WINVER。另外,DevTools Preview的版本?示例:
C:\Program Files\WindowsApps\Microsoft.MicrosoftEdgeDevToolsPreview_18.924.1.0_x64__8wekyb3d8bbwe
要运行我的示例,您需要做的是:
npm install
npm run build:dev
npm start
...或等同的纱线。
这将生成,加载应用程序并启动Excel。 ?