繁体   English   中英

有没有办法在 Windows Phone 8.1 Update 2 上检测新的 IE 版本?

[英]Is there a way to detect the new IE version on Windows Phone 8.1 Update 2?

Windows Phone 的每次更新都会为内部 Internet Explorer 带来新功能/错误。

我们想知道一种检测 8.1 Update 2 (GDR2) 的方法。

大概有一个功能或错误可以嗅探以下之一:

  1. 添加到 GDR2 中的功能,或

  2. GDR1 中的错误现已在 GDR2 中修复,或

  3. 检测添加到 GDR2 的错误(不稳定的嗅探,因此不太理想,因为错误可能会被修补)。

注意 microsoft 提供的更改列表 另请注意,在可能的情况下使用功能检测,但仍然需要嗅探,因为:(1)您无法总是找到检测功能/错误的方法(一些 CSS 错误,一些需要用户交互的错误),以及 (2) 我们想要使用异常日志和其他记录信息记录浏览器版本(以便我们可以找到问题的模式),以及 (3) 我们希望在一个地方显示任何设备的版本,以便我们的用户可以轻松地向我们报告(没有我们要求他们进入设备特定的设置等)。

编辑:是检测不同 Windows Phone 更新的示例代码(对于更新 1、2 和 10。您可以编辑javascript。)

在更新 2 中,他们似乎删除了对 2011 样式 flexbox(带有 ms 前缀)的支持,可以通过以下代码进行测试:

'msFlexAlign' in document.documentElement.style

这对于 Internet Explorer 11 Mobile Update 1 返回 true,对于 IE11 Update 2 返回 false。是一个 jsbin 测试。

请注意,我通过使用 Modernizr 3牛测试并比较更新 1结果和更新 2结果发现了这一点。 只有一个不同,flexboxtweener 的值从 true 变为 false。

编辑:如果您需要检测更新 1,那么检测 WP8.1 和 WP8.1 更新 1 上的 IE11 之间差异的一种方法是 8.1 更新 1(以及更新 2)支持 document.ontouchstart,您可以使用它进行测试窗口中的“ontouchstart”。 但是请注意,Windows Phone 10 (10.0.10586) 上的应用程序如果使用 WebView(WebView 使用 IE11 和窗口中的 'ontouchstart' === false!!! Arrrgggh)它会再次恢复。

编辑:如果在为 Windows Phone 10 (Windows 10 Mobile 10.0.10586) 上的目标 WP8.1 编译的应用程序中使用 WebView,则它使用 IE11,而应用程序不使用 Microsoft Edge! WTF:该版本的 IE11 为'msFlexAlign' in document.documentElement.style返回 true,因此似乎更新 1 和更新 2 的更改在 WP10 中丢失或恢复 - 哎哟。 您可以在 WP10/W10M(更新 3 ;-|)上检测 IE11,因为它在用户代理中有“Trident/8.0”,而 WP8.1 上的 IE11 有“Trident/7.0”。 如果用户代理包含“WebView/2.0”,您可能只会寻找差异(尽管https://msdn.microsoft.com/en-us/library/hh869301(v=vs.85).aspx也提到“MSAppHost” )。 如果使用 Settings | 可能会发生其他事情桌面模式(其中包括删除“Windows Phone 8.1”并将“WPDesktop”添加到用户代理),或者如果使用 X-UA-Compatible 将文档模式更改为 < IE11)。 Windows 文档是“在为 Windows 10 编译的应用程序中,WebView 使用 Microsoft Edge 渲染引擎来显示 HTML 内容。在为 Windows 8 或 Windows 8.1 编译的应用程序中,WebView 在文档模式下使用 Internet Explorer 11。” (注意:我们的经验是,为目标 Windows 8 编译的应用程序在文档模式 10 下使用 IE,并且必须为目标 8.1 创建一个新的空项目,并从旧项目复制所有内容,然后才能在文档模式 11 下使用 IE11) .

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM