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 上也能正常工作。也许更新导致了这个?有趣的是,Cordova 和 UWP 也受到影响。有没有已知的解决方案?
我遇到了同样的问题。我没有解决办法,但至少可以解释一下我的发现。
- 我尝试使用 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 替换所有元素才能进入新屏幕。令人沮丧的是,我们必须重新发明轮子才能实现如此简单的事情。
在 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 上也能正常工作。也许更新导致了这个?有趣的是,Cordova 和 UWP 也受到影响。有没有已知的解决方案?
我遇到了同样的问题。我没有解决办法,但至少可以解释一下我的发现。
- 我尝试使用 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 替换所有元素才能进入新屏幕。令人沮丧的是,我们必须重新发明轮子才能实现如此简单的事情。