Cordova/UWP Windows HTML select 元素上的 Mobile 10 访问冲突

Cordova/UWP Windows Mobile 10 Access Violation on HTML select element

Visual Studio 2015 更新 3 中,我创建了一个 JavaScript -> Windows -> Windows 8 -> Windows Phone -> Blank App (Windows Phone) 项目。然后我将 default.html 更改为包含一个 <select> 元素,如下所示:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8" />
    <title>App1</title>

    <!-- WinJS references -->
    <!-- At runtime, ui-themed.css resolves to ui-themed.theme-light.css or ui-themed.theme-dark.css 
    based on the user’s theme setting. This is part of the MRT resource loading functionality. -->
    <link href="/css/ui-themed.css" rel="stylesheet" />
    <script src="//Microsoft.Phone.WinJS.2.1/js/base.js"></script>
    <script src="//Microsoft.Phone.WinJS.2.1/js/ui.js"></script>

    <!-- App1 references -->
    <link href="/css/default.css" rel="stylesheet" />
    <script src="/js/default.js"></script>
</head>
<body class="phone">
    <select>
        <option>Val</option>
        <option>Val</option>
        <option>Val</option>
        <option>Val</option>
    </select>
</body>
</html>

点击 select 元素时,应用程序崩溃 Windows 手机 10 与:

'WWAHost.exe' (Script): Loaded 'Script Code (MSAppHost/2.0)'. 
The program '[3976] WWAHost.exe' has exited with code -1073741819 (0xc0000005) 'Access violation'.

这发生在设备和 Windows Mobile 10 模拟器 上。 Windows Phone 8好像没有这个问题。直到最近,这在 Windows Mobile 10 上也能正常工作。也许更新导致了这个?有趣的是,CordovaUWP 也受到影响。有没有已知的解决方案?

我遇到了同样的问题。我没有解决办法,但至少可以解释一下我的发现。

  • 我尝试使用 WinJS 2.1 和 WinJS 4.4
  • select 元素在 Windows Phone 8.1 和 Windows 10(桌面)
  • 上运行良好
  • 编辑 #1: 我现在已经尝试对我的 phone 进行完全重置并重新从头开始安装所有内容 - 看起来它引入了最新的重置时更新 - 所以这根本没有帮助。
  • 编辑 #3: 我尝试设置所有不同类型的侦听器(onclick、onchange、onmouseover 等),其中 none 会触发。崩溃发生在这些事件之前。
  • 编辑 #3: 我尝试用 CSS 完全重新设计 select 元素。运气不好。

看来我们几乎同时发现了这个问题。这会让我相信这是由最近的更新引起的。希望很快会有另一个更新来解决这个问题。

我给 MS 支持发了一封电子邮件,要求提供更多信息,如果我找到更多信息,我会通知您。我试图考虑替代 select 元素来使用 - 但我真的想不出一个简单的解决方案。在我必须重写所有 select 元素之前,我至少要等一段时间。

我知道这没有多大帮助,但如果我发现任何问题,我一定会更新我的答案!

编辑#2: Here is the crash dump straight from the phone.

编辑 #4: MS 支持基本上让我失望并告诉我去 post 他们的技术论坛中的问题。随意 check out my post(希望它能获得更多关注)或 post 你自己的话题。


编辑 #5: 我已经正式放弃寻找解决方法。它坏了,我(也不是我见过的任何人)已经能够解决这个问题。我必须用 ListView 替换所有元素才能进入新屏幕。令人沮丧的是,我们必须重新发明轮子才能实现如此简单的事情。