Javascript Windows Metro应用程序<;李>;标签
我正在开发一个javascript windows应用商店应用程序 在显示的html中有一些嵌套的Javascript Windows Metro应用程序<;李>;标签,javascript,windows,microsoft-metro,winjs,Javascript,Windows,Microsoft Metro,Winjs,我正在开发一个javascript windows应用商店应用程序 在显示的html中有一些嵌套的ul和li标记,如下所示: li标记的实际计数约为130,但这是最大嵌套级别。 在大多数情况下,一旦我尝试显示此内容,应用程序就会崩溃,出现访问冲突异常(无堆栈跟踪)。如果我简单地将所有li标记替换为它们的内容,那么应用程序运行时不会出现任何问题 由于内容是动态的,我无法控制网页中的标签,因此我无法保证其他标签不会出现这种情况,您知道是什么原因导致了这种情况吗?好的,问
ul
和li
标记,如下所示:
-
-
-
li
标记的实际计数约为130,但这是最大嵌套级别。
在大多数情况下,一旦我尝试显示此内容,应用程序就会崩溃,出现访问冲突异常(无堆栈跟踪)。如果我简单地将所有li
标记替换为它们的内容,那么应用程序运行时不会出现任何问题
由于内容是动态的,我无法控制网页中的标签,因此我无法保证其他标签不会出现这种情况,您知道是什么原因导致了这种情况吗?好的,问题与此相关。显然,在我调用以处理内容的函数的某个地方,执行了一些“不安全”的代码。我通过如下方式包装函数
MSApp.execUnsafeLocalFunction(myFunction)
解决了这个问题。至于这为什么会导致访问冲突错误,我无法理解
我希望这能帮助任何遇到类似问题的人,因为调试这样的东西可能会很痛苦。我正在尝试理解这里的问题。你是说当你尝试嵌套130个列表时,你的Windows应用商店应用程序崩溃了吗,并没有发现显示它们的问题。请分享任何附加代码;甚至可能是一个崩溃的示例项目。需要一段崩溃的html吗?结果证明问题不在
li
标记中(至少不完全是这样,因为删除它们“修复”了问题)-有些超时似乎也是崩溃的一部分。我无法提取一个简单的HTML代码来重现这个问题,因为体系结构非常复杂(有很多javascript也可能导致这个问题)。崩溃似乎取决于应用程序运行的体系结构—它在MS Surface tablet(ARM)和64位Intel处理器上崩溃,但在64位AMD上不崩溃—在64位AMD上的模拟器上运行它显示mshtml.dll中存在错误。
<ul>
<li>
<a href="html1.html#anchor">
<strong>Link1</strong>
</a>
<ul>
<li>
<a href="html2.html#anchor">Link2</a>
<ul>
<li>
<a href="html3.html#anchor">Link3</a>
</li>
</ul>
</li>
</ul>
</li>
</ul>