【问题标题】:Windows Metro App <li> tagWindows Metro 应用程序 <li> 标签
【发布时间】:2013-04-09 11:05:59
【问题描述】:

我正在开发一个 javascript windows 商店应用程序。

在显示的 html 中有一些嵌套的 ulli 标签,如下所示:

<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>

li 标签的实际数量约为 130,但这是最大嵌套级别。 在大多数情况下,一旦我尝试显示此内容,应用程序就会崩溃并出现访问冲突异常(无堆栈跟踪)。如果我只是用它们的内容替换所有li 标签,那么应用程序运行没有问题。

由于内容是动态的,我无法控制网页中的标签,因此我不能保证其他标签不会发生这种情况?

【问题讨论】:

  • 我正在尝试了解这里的问题。当您尝试嵌套 130 个列表时,您是说您的 Windows 应用商店应用程序崩溃了吗? I was able to nest 130 lists,并没有发现显示它们的问题。请分享任何其他代码;甚至可能是一个崩溃的示例项目。
  • 需要一个崩溃的 html 的 sn-p
  • 事实证明,问题不在li 标签中(至少不完全是,因为删除它们“修复”了问题)——有些超时似乎也是其中的一部分迷恋;撞车;崩溃。我无法提取简单的 HTML 代码来重现该问题,因为架构非常复杂(有很多 javascript 也可能导致此问题)。崩溃似乎取决于应用程序运行的架构——它在 MS Surface 平板电脑(ARM)和 64 位 Intel 处理器上崩溃,但不是在 64 位 AMD 上——在 64 AMD 的模拟器上运行它在 mshtml.dll 中显示错误。

标签: javascript windows microsoft-metro winjs


【解决方案1】:

好的,问题与metro's security restrictions 有关。显然,在我调用来处理内容的函数中的某个地方执行了一些“不安全”的代码。我通过像MSApp.execUnsafeLocalFunction(myFunction) 这样包装函数来解决这个问题。至于为什么这会导致访问冲突错误,我无法理解。

我希望这可以帮助任何遇到类似问题的人,因为调试这样的事情可能会很痛苦。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-05
    • 2013-04-03
    • 2015-09-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-29
    • 1970-01-01
    相关资源
    最近更新 更多