You are here

Feed aggregator

一年免費的 prime[31] Unity plug-ins

MSDN Blogs - 1 hour 16 min ago

prime[31] 是很受歡迎的 Unity plug-ins 供應商,其中包含適用於 Windows Store 及 Windows Phone App 的元件。即日開始至 2015 年 6 月,以下有關於 IAP (應用程式內購買)、Live Tiles (動態磚)、Ads (廣告)以及 Azure Storage 等的 plug-ins 都是免費的:

Functionality provided

Windows Store 8.0 and 8.1

Windows Phone 8.0 *

Handling trial and in-app purchases

Store plug-in

Store plug-in

To get Live tiles, toast notifications

Metro Essentials plug-in

Metro Essentials plug-in

To give you access to the Microsoft Ad SDK

Microsoft ads plug-in

Microsoft ads plug-in

For easy access to Azure storage

Microsoft Azure plug-in

Microsoft Azure plug-in

*Note that Windows Phone 8.1 support and corresponding free plug-ins will be coming soon.

所有最新的優惠及免費插件,可上 prime[31]的網站,只要提供您的姓名和電子郵件,prime[31] 會寄給您 license, 讓您在 Unity 的專案中使用。

安裝及其他文件請參考 Plug-in Documentation。 也可以透過 prime[31] YouTube Channel 進一步了解使用方式,若有使用上的問題請利用 prime[31] 的論壇 prime[31] support forums

來源: Free one year prime[31] Unity plug-ins

Reimagine Sydney - a briefing about change and digital disruption

MSDN Blogs - 4 hours 43 min ago

There’ still an opportunity to register to attend the Reimagine event in Sydney on 29 October, at the Royal Hall of Industries from 9AM-12:30PM

The briefing isn’t just for education customers, and offers a learning opportunity from the experiences of transformation happening in other industries.

The briefing will cover the Microsoft vision for platform and productivity – how we will empower people and organisations to do more and achieve more. But technology is only part of the story, because as the impact of technology changes so does the role of IT itself. And the IT people within an organisation become responsible for a digital transformation, and working with others to support the cultural change that technology enables (and requires!).

This challenge exists with every organisation, whether it’s a big bank, an electricity company, or an education organisation like a school or university. And so we’re seeing new job roles emerging – like Chief Digital Officer and VP of Student Experience. These new roles are often being filled by people with a deep understanding of technology, backed by the skills to effectively manage visionary change.

At the event, three invited speakers will share their stories of change:

  • Sean Elwick, Head of Information Services at Aurecon, will share his view on the disruption to the role of IT, and how he personally lobbies for digital change within his organisation.
  • Anthony Stevens, Director of IT Operations from KPMG, will share how their business has empowered its people to be more mobile, more responsive and more productive in order to create great experiences for their customers.
  • Belinda Thompson, BDO’s Chief Information Officer, will share how the company is using the cloud to support its people and better connect with its customers – and what it all means for her team’s relationship with the business.

To find out more and register for either of the Reimagine events, then use the links below:

Register for Reimagine in Sydney on 29 October

Sony Xperia Z3 with Office 365...Contacts & Calendar Don't Sync

MSDN Blogs - 4 hours 59 min ago

If you've recently picked up a new Sony Xperia Z3 (or if you have a Z3 Compact, Z2x or maybe even the much older Zx that have been updated) and your Exchange ActiveSync account is not syncing your Calendar or Contacts to the phone, here is how to make it happen: 

  1. If you've already added your Office 365 mail account on your Sony Xperia Z3 using "Exchange ActiveSync" as the type, it should show up as "Mail" - you can go ahead and delete this account
  2. Once deleted, create a new Account, select Exchange ActiveSync and enter your details
  3. Instead of selecting Automatic Configuration, select Manual, and specify the following: 
    1. Username = youruser@yourcustomdomain.com
    2. Servername = m.outlook.com
  4. This time, it should detect the correct settings from O365 and provide you with a screen that now has not only Email, but Contacts, Calendar and Tasks with check boxes for syncing
  5. Once complete, you should now see your Office 365 Email, Contacts, Calendar and Tasks show up on your phone in a couple of minutes!
I hope this helps some of you new Xperia Z3 users! Now I'll enjoy my Xperia Z3 running Office 365 and OneDrive while I await the release of the Lumia 1020 successor...but until then... DB

Brisbane Startup Meetup + Queensland MIC SCRUM are joining

MSDN Blogs - 5 hours 44 min ago

As most of you would know, we've got startup networking drinks at the Queensland Microsoft Innovation Centre (MIC) next Friday afternoon from 5.30pm - http://blogs.msdn.com/b/bizspark_au/archive/2014/09/24/more-meetups-coming-your-way.aspx

But things just got even better, the MIC will be holding their SCRUM at the same time!

Shakeel Yusuf, the Senior Manager for R&D Incentives for PWC,  will be joining the combined MIC Scrum/Startup Drinks to discuss the Federal Government's R&D Tax Incentive that startups can take advantage of. If you're interested in learning how you can take advantage of the incentives available make sure you join us next Friday!

Please register here for catering purposes - http://startup.msdeveloper.com.au/pages/events.aspx

SQL–More memory and CPU is not always a win

MSDN Blogs - 8 hours 35 min ago

All computer programs will run better when adding more memory and CPU cycles – right?  Not necessarily true.

Assuming everything else is equal, then more memory and CPU will be a win; however, all computer systems have finite resources, also memory and CPU. Granting more to one program (or service), will take it away somewhere else.

SQL is no exception, in fact it will happily consume all the resources you grant it – at the risk of starving other systems, including the OS.

MaxServerMemory

You can control how much memory SQL can use through the MaxServerMemory property. Setting it too low, means you are throttling SQL – setting it too high and you are throttling the OS.  Despair not, help is near: Here is a blog post written by Tara Shankar Jana – with a script, that will give you the optimal setting.

CPU – Priority boost

It may be tempting to give the SQL process a priority boost. But don’t do this! Ever! Doing this will starve any other process (including the OS processes), and it will not make the system perform better – in most cases it will be significantly worse.

Here is a blog post by Arvind Shyamsundar on the topic: Priority boost details and why its not recommended

If you want to disable priority boost, you can do it using this sql script:

sp_configure 'priority boost', 0 reconfigure with override One more thing…

Since you are reading this, you probably want to get the best performance out of SQL on the hardware available. Check one more thing: The power plan!  You likely bought the hardware for your server to use it, so make sure to set the power plan to High performance – also on any VM hosts.

Cindy Gross has written a blog on the topic.

  What has this got to do with Dynamics AX?

Nothing and everything. The three guidelines above apply to any use of SQL Server – including when SQL is used with Dynamics AX.

I recently visited an AX customer with performance problems. It turned out that SQL was granted 100% of the memory on the box, it was set to run with priority boost, and the power plan was set to balanced. The first two due to best intentions, the last due to this being the default setting. This starved the OS for resources, making overall performance of the system unpredictable – some simple queries would take seconds to complete, and blocks were observed too. Getting these settings right fundamentally changed the behavior – it was like night and day.

Kudos to Tara for educating me on these topics.

Campaña de e-mail marketing con Sendgrid en Azure

MSDN Blogs - 8 hours 51 min ago

Hola a todos! Hoy vamos a ver como hacer para crear tu propio servicio de e-mail marketing en Microsoft Azure con algunos simples pasos. No necesitas ser un experto en tecnología para seguir esta guía.

Si aun no tenés una cuenta en Microsoft Azure, te dejo algunas formas de empezar gratis:

  Derechos de autor

Esta guía fue 100% creada por Branko Straub, quien forma parte de nuestro equipo de Microsoft Student Partners en Argentina y Uruguay. Les recomiendo que pasen por su blog, ya que frecuentemente sube artículos super interesantes sobre Azure y desarrollo de aplicaciones móviles, entre otros temas.

 

Comentarios antes de empezar

Antes de montar tu servidor, vas a necesitar decidir tamaños de máquina y data center donde hostear tu aplicación. Para lo primero, te recomiendo este artículo. Para lo segundo, te recomiendo leas este otro.

 

Archivos necesarios:

http://1drv.ms/1zdZMJK

  Configuración en Azure

Lo primero que necesitamos hacer una vez que tenemos activa nuestra cuenta de Azure es agregar una tarjeta de crédito, si bien el servicio SendGrid es gratis hasta 25.000 emails por mes, al ser un complemento de la tienda de Azure este requisito es indispensable.
Prosigamos a agregar la tarjeta:
En el portal de Azure si vamos a la parte de adminstracion de Suscipciones veremos algo asi:
Hacemos click para cambiar la configuración.

Ahora vamos a ver lo siguiente agregamos un método de pago nuevo, en mi caso una tarjeta de crédito VISA.

Una vez que agregamos la  tarjeta y ponemos aceptar vamos a ver una opción que nos dice quitar el limite de gasto, esto no es necesario, tienen la opción de hacerlo. Pero una vez agregada la tarjeta alcanza con cerrar dicha ventana y regresar al portal.

Una vez que volvimos al portal ponemos “nuevo” y luego seleccionamos “Tienda”

Buscamos SendGrid y le damos Ok:

Nos da la opción de elegir un nombre y su ubicación geográfica:

Ya que es un servicio pago, veremos un resumen de la transacción, pero si eligimos correctamente la versión gratuita de 25.000 emails, veremos como el resumen total aparecerá en 0 pesos:

Una vez creado debemos anotar los datos de conexión y luego ir al portal de administración de SendGrid para configurar unos pequeños detalles:

Anotamos el usuario y la contraseña que nos serán útiles luego:

Nos dirigimos al portal de administración, en la parte inferior en Azure hay un ítem que nos permite ingresar al mismo directamente, veremos en la parte superior del portal de SendGrid que hay una advertencia, clickeamos ahí para completar los datos que faltan

Terminamos de configurar todo y veremos todos los “ticks” en verde:

Una vez realizados todos estos pasos ya hemos terminado con la configuración de todo lo que es “Cloud” ahora vamos a remitirnos al Visual Studio.

 

Configuración en Visual Studio

Para el resto del tutorial yo opte por realizar el programa en .Net (C#) pero cabe destacar que SendGrid permite JS, C#, y además cuenta con una WebApi entre otras cosas.
Recordemos que para continuar deben bajar el proyecto que se encuentra alojado en OneDrive: http://1drv.ms/1zdZMJK

Lo descomprimimos, lo iniciamos y lo único que debemos hacer es realizar unos pequeños cambios en el código:

Donde dice “var credentials = new NetworkCredential("usuario", "contraseña");”
Reemplazamos usuario y contraseña por las nuestras (las que anotamos antes).
Luego podemos adaptar el código a nuestro gusto y necesidades.


Observaciones:

myMessage.From = new MailAddress("atencion@heqsoa.onmicrosoft.com");
Esta opción nos permite elegir el remitente que va a ver el usuario que recibe el email.

List<String> recipients = new List<String>

            {

                @"Jeff Smith <Jeff@hotmail.com
                @"Anna Lidman <Anna@outlook.com>",

                @"Peter Saddow <Peter@microsoft.com>"

};

Esto nos permite agregar los usuarios que van a recibir los emails, en este caso agregue tres destinatarios a mano, pero los mismos se pueden cargar desde un archivo Txt, Excel, SQL, etc.
myMessage.Subject = "Azure Boxs Testing";
Acá podemos cambiar el asunto del email.

StreamReader reader = File.OpenText(@"C:\email.html");            
myMessage.Html = reader.ReadToEnd();
Ya que la mayoria de los emails hoy en dia se encuentran en format HTML podemos leer nuestro email desde un archivo de esta manera y luego cargarlo.
myMessage.AddAttachment(@"C:\file1.txt");

Esto nos deja enviar archivos adjuntos.

Una vez realizados todos los cambios que desean pueden probar enviar un email de prueba, en mi caso me base en un email de ImagineCup 2015, como pueden observar son libres de elegir el remitente que ustedes deseen ya que el encargado de enviar los emails es SendGrid y no su casilla de email:

Gracias a todos y espero que les haya sido útil.
Cualquier duda, consulta o comentario será más que bienvenido.

WS-Man (Web Services for Management) 1.2 Published

MSDN Blogs - 9 hours 44 min ago

The DMTF recently published the Web Services for Management (WS-Man) standard version 1.2. This release of the WS-Man specification clarifies support for the latest encryption protocols, which has been required by organizations and governmental agencies such as the US Government NIST program.

WS-Man is a SOAP-based protocol that can be used with any transport, although it is primarily used with HTTP and HTTPS.  The older versions of the WS-Man specification made specific references to older versions of TLS (Transport Layer Security) that have proven to be insufficient.  The updated version more clearly decouples the protocol and the transport to ensure that interoperability is not dependent on specific versions of encryption algorithms, including TLS.  There is no functional change with the updated WS-Man 1.2 specification.  

Microsoft, an active member of the DMTF, contributed and edited the updated WS-Man specification. The Microsoft implementation of WS-Man is known as Windows Remote Management (WinRM), and has been a part of Windows since Windows 7 / Windows Server 2008 R2.  The WinRM implementation of WS-Man conforms with the latest NIST requirements described in NIST Special Publication 800 -52r1. WinRM leverages HTTP.SYS, which implements and enables configuration of the most recent and industry-standard secure transport protocol layer, as described in these two articles:

· Configuring WINRM for HTTPS

· The Configuring WinRM to Use HTTPS section of Configuration and Security

Note that if HTTPS is not used, WinRM still encrypts the payload over HTTP by default unless explicitly set to not use encryption.

WinRM has been, and should continue to be relied on in secure environments that are configured to meet the government and industry recommended cryptographic algorithms. Due to the lack of clarity in the previous releases of the WS-Man specification, some users were confused about whether or not WS-Man and WinRM supported recent and more secure implementations of the Transport-Layer Security (TLS), which it does. While this has not been an issue for the Microsoft implementation in WinRM, the WS-Man version 1.2 specification update has addressed that, and removed the confusing elements.

Steve Lee
Principal Engineering Manager
Windows Server

Keith Bankston
Senior Program Manager
Windows Server

Git Server corriendo en Azure IaaS (Ubuntu!)

MSDN Blogs - 9 hours 44 min ago

Hola a todos! Hoy vamos a ver como hacer para crear tu repositorio GIT en Microsoft Azure con algunos simples pasos. No necesitas ser un experto en tecnología para seguir esta guía ya que Azure ha automatizado prácticamente todos los proceso que no sean de customización propia de tu sitio.

Si aun no tenés una cuenta en Microsoft Azure, te dejo algunas formas de empezar gratis:

  Derechos de autor

Esta guía fue 100% creada por Branko Straub, quien forma parte de nuestro equipo de Microsoft Student Partners en Argentina y Uruguay. Les recomiendo que pasen por su blog, ya que frecuentemente sube artículos super interesantes sobre Azure y desarrollo de aplicaciones móviles, entre otros tema.

 

Comentarios antes de empezar

Antes de montar tu servidor, vas a necesitar decidir tamaños de máquina y data center donde hostear tu aplicación. Para lo primero, te recomiendo este artículo. Para lo segundo, te recomiendo leas este otro.

 

Configuración en Azure

Lo primero que vamos a hacer es crear nuestra VM, en este tutorial vamos a optar por un Ubuntu 12.04 LTS (Long Term Support)

Completamos los datos requeridos para el loggin, nombre de la maquina, tamaño, etc.

  Configuración en la VM

Una vez que se termino de crear la maquina virtual, en nuestra pc bajamos el PuTTY para conectarnos remotamente a la terminal de nuestra VM corriendo Ubuntu.
http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Una vez que lo bajamos, lo abrimos y compleamos la ip con nuestra direccion de DNS que previamente elegimos:

Si hicimos todo bien nos saldrá una advertencia a la cual le damos “Yes” y proseguimos.

Ahora nos va pedir nuestro usuario y luego la clave, en mi caso “azureuser” y mi clave [Símbolo]

Una vez que nos conectamos exitosamente, vamos a introducir los siguientes comandos en este orden:
sudo apt-get update
sudo apt-get dist-upgrade
sudo apt-get install git-core

Si alguno de estos les pide confirmación ponen “Y” y luego enter.

Una vez que ejecutamos esos tres comandos que básicamente lo que hacen es actualizar el sistema y luego bajar el GIT Server, lo siguiente que hacemos es ejecutar los siguientes:
sudo –s
adduser git (les va a pedir datos del usuario completenlos)
su azureuser (nos volvemos a loggear como azureuser)

Una vez que hicimos eso, ahora proseguimos con los siguientes:
mkdir ~/repositories
sudo apt-get install acl
chmod 700 ~/repositories
sudo chown git:git ~/repositories

Ahora seguimos con estos:

getfacl ~/repositories
sudo ln -s /home/$USER/repositories /git
ls -al /git

Cuando ya terminamos con todos estos comandos el siguiente paso es bajar el PuTTY Key Generator que va servir para autentificar nuestra conexión a la VM y además para luego validar la conexión a nuestro repo de GIT.

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html

Lo abrimos, le damos generar:

Nos va a pedir que movamos el mouse para generar la clave de manera aleatoria:

Ingresamos una clave, y luego guardamos la clave privada:

La clave privada la guardamos en el escritorio y ahora copiamos la publica:

Volvemos a nuestra conexión a la terminal remota y ahora vamos a ejecutar lo siguiente

  • sudo –s

  • mkdir /home/git/.ssh

  • echo "ssh-rsa AAAAB3NzaC1yc2EAAAABJQAAAQEAp7c7YmVnqeHAtiDBmpoJ3TdlH0RzgXzVu89FNN5qbqgZtnHAmqmTWqtn2lrwcuZncAAdQZ7zjW6KI/7W3TYVu8WsFQbfm5puKq0jNGyPNs0IdukDmVnBNniHaC/cXwmgNbw12puuzFFKXlICIiZ9NDUWG9+3m8JkxaZc6jZajj6ZVZqA/K6HdXX3aUD38jmQmT7J5eleAskZa2H/st6gmBBI7kUranhJuvBBhiQaNQyRRD4CRGHrAEMzy1Zxh5d5Y/4nFHjxldS+tDmTG6Ki4g0MZwUCa8s7cH7ZGWgAlGNd+UcWUsRb4cU6GMLVTeHCwb81Odkof7rdkOAC7MQVGQ== rsa-key-20141018" >> /home/git/.ssh/authorized_keys

*Reemplazando lo que está en negrita por su propia clave pública.

Desconectamos nuestra sesión de PuTTY para ahora abrir una nueva, pero ahora vamos a opciones avanzadas, luego SSH y por ultimo Auth, ahora elegirmos Browse y seleccionamos la clave privada que previamente habíamos exportado:

Una vez que hicimos eso vamos a ver que ahora nos loggeamos como “git”, la clave que nos va a pedir es la que usamos cuando generamos la clave pública con el PuTTY Key Generator:

Por ultimo corremos los siguientes comandos:
cd /git
git init --bare myrepo.git

Configuración en tu PC

Instalamos los siguientes programas:
http://msysgit.github.io/

https://code.google.com/p/tortoisegit/wiki/Download?tm=2

Ej: una vez que instalamos TortoiseSVN hacemos click derecho en una carpeta y ponemos gitClone

Ponemos nuestro DNS de Azure y elegimos nuestra clave privada que previamente generamos:

A continuación nos va a pedir la clave que elegimos para dicha Key y por último el usuario: elegimos git

Gracias a todos y espero que les haya sido útil.
Cualquier duda, consulta o comentario será más que bienvenido.

SQL CLR assembly fails verification with “Unable to resolve token”

MSDN Blogs - 9 hours 46 min ago

Recently we worked with a customer has an SQL CLR assembly. This customer decided to upgrade from SQL Server 2008 R2 to SQL Server 2012. But this assembly failed to register with SQL Server and he received the following error:
Msg 6218, Level 16, State 2, Line 11
CREATE ASSEMBLY for assembly 'test3.5' failed because assembly 'test3.5' failed verification. Check if the referenced assemblies are up-to-date and trusted (for external_access or unsafe) to execute in the database. CLR Verifier error messages if any will follow this message [ : Test.Test::my_func][mdToken=0x6000001][offset 0x00000000] Unable to resolve token.

First of all, SQL Server 2008 R2 and SQL 2012 use different versions of CLR. SQL 2008 R2 and below uses CLR 2.0/3.5 but SQL 2012 was upgraded to use CLR 4.0 and above.
What's interesting for this customer is that if they compile the assembly using 4.0 compiler, then they could register the assembly by using CREATE ASSEMBLY.
When we compared the IL generated, there is just one difference dealing with a local variable.
For the assembly compiled for 2.0/3.5, you see ".locals init ([0] void& pinned pData)". But for the assembly compiled for 4.0, you see ".locals init ([0] native int& pinned pData)". See a screenshot below with ildasm:
IL generated by 2.0 compiler


IL generated by 4.0 compiler



The IL in question is generated for the code like fixed (void* pData = &buf[1024]). Basically, the intention is to pin the memory for native call.

Cause

There are two changes in CLR that cause CREATE ASSEMBLY to fail. First, CLR 4.0 compiler no longer generate IL "void& pinned" for code like fixed (void* pData = &buf[1024]). Instead, it generates IL like .locals init ([0] native int& pinned pData). Additionally, CLR 4.0 peverify code is updated and no longer recognize that particular IL generated by CLR 2.0 compiler. When you CREATE ASSEMBLY in SQL Server, it has to do peverify to ensure the assembly passes verification. In this case, SQL 2012 uses 4.0 peverify code to verify the assembly compiled with 2.0 compiler. Therefore, it fails.

Solution

There are two solutions for this.
First option is to compile your assembly using CLR 4.0 compiler targeting 4.0 framework. This should be the best option because SQL 2012 uses CLR 4.0.
If you need your assembly to continue to target 2.0/3.5 framework, you can use 4.0 compiler but link 2.0 version of mscorlib.dll. Here is an example command.
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /nostdlib+ /noconfig /r:c:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll -unsafe -optimize -debug:pdbonly -target:library -out:test.dll test.cs

Repro Step 1 Save the following code into test.cs

using System;
using System.Collections;
using System.Runtime.InteropServices;
using System.Text;
using System.Reflection;
using System.Reflection.Emit;
using Microsoft.Win32;
namespace Test
{
unsafe public class Test
{
unsafe public delegate void my_Delegate(ushort comp,
ushort func,
void* ptr,
uint length);
public static my_Delegate delegate1;

uint dataLength = 0;
public void my_func (String objectId,
uint component,
uint method,
ushort level,
String caption,
uint offset,
int length,
byte[] buf)
{
fixed (void* pData = &buf[1024])
{

delegate1((ushort)component,
(ushort)method,
pData,
dataLength);
}
}
}
}

Step 2 Compile the assembly

Compile using the following command
C:\Windows\Microsoft.NET\Framework\v3.5\csc.exe -unsafe -optimize -debug:pdbonly -target:library -out:test3.5.dll test.cs

Step 3: CREATE ASSEMBLY

If you "create assembly asem from 'C:\repro2\test3.5.dll' with permission_set=unsafe", you will receive the above error.

Step 4: solution and workaround

But the following two commands won't result in errors
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe -unsafe -optimize -debug:pdbonly -target:library -out:test4.0.dll test.cs
C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /nostdlib+ /noconfig /r:c:\Windows\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll -unsafe -optimize -debug:pdbonly -target:library -out:test.dll test.cs

Jack Li | Senior Escalation Engineer | Microsoft SQL Server Support

Internet Explorer и Windows 10 Technical Preview

MSDN Blogs - 9 hours 46 min ago

Сегодня была выпущена версия Windows 10 Technical Preview, чтобы вы могли заранее ознакомиться с новыми возможностями Windows. Версия Technical Preview, для установки которой необходимо стать участником программы Windows Insider Program, является также наилучшим способом ознакомиться с новейшими компонентами Internet Explorer. Так что присоединяйтесь сегодня. В этой записи блога мы расскажем о новых возможностях Internet Explorer, а также о запуске сайта Internet Explorer Platform Suggestion Box, через который веб-разработчики могут высказывать свои идеи относительно компонентов, используя платформу UserVoice.

Новые возможности Internet Explorer в Windows 10 Technical Preview HTTP/2

Internet Explorer в Windows 10 Technical Preview включает в себя поддержку нового сетевого протокола HTTP/2, который является попыткой стандартизации, широко поддерживаемой отраслевым сообществом. HTTP/2 создан с учетом нашего опыта реализации поддержки SPDY/3 в Internet Explorer 11 и обеспечивает улучшенную производительность в Интернете, используя такие методы, как мультиплексирование, сжатие заголовков и отправка данных по инициативе сервера.


Поддержка протокола HTTP2 в средствах разработчика F12 в Internet Explorer для Windows Technical Preview

Улучшения производительности обработчика JavaScript под названием Chakra

Internet Explorer в Windows 10 Technical Preview включает также несколько улучшений производительности обработчика JavaScript под названием Chakra. К таким изменениям относятся оптимизация процесса выполнения Chakra для ускоренного запуска, оптимизация работы JIT-компилятора Chakra для увеличения скорости выполнения скриптов, а также улучшения подсистемы сборки мусора Chakra для ускорения отклика пользовательского интерфейса для приложений и сайтов.

Совместимый синтаксический разбор доменов верхнего уровня

Internet Explorer в Windows 10 Technical Preview переключает синтаксический разбор доменных имен, чтобы использовать алгоритмы и список доменов, найденные на сайте http://publicsuffix.org.

Запуск Internet Explorer Platform Suggestion Box на платформе UserVoice

Сегодня мы также объявляем о доступности сайта Internet Explorer Platform Suggestion Box, работающего на платформе отзывов UserVoice. Это новейший этап нашей программы налаживания диалога с веб-разработчиками, о которой мы рассказали в прошлом апреле и которая включает в себя ежемесячные сеансы #AskIE и увлекательный сеанс Reddit IAmA, организованный в августе.

Используя систему голосования UserVoice, мы сможем точно определить, в каких компонентах больше всего нуждается сообщество веб-разработчиков. Это поможет устанавливать приоритеты в нашей работе. Мы также связали счетчики голосов непосредственно со страницей status.modern.ie, чтобы вам было еще удобнее сообщать ваши отзывы о новых стандартах и компонентах.


Счетчик голосов по компонентам на сайте status.modern.ie — добавление вашего голоса в UserVoice одним щелчком!

Обратите внимание, что отчеты о конкретных ошибках следует по-прежнему направлять через Connect. Для отправки отзывов о пользовательском интерфейсе Internet Explorer используйте приложение "Отзывы о Windows", встроенное в Windows 10 Technical Preview.

Тестирование новейшей веб-платформы Internet Explorer

В дополнение к улучшенным каналам обратной связи мы стремимся помочь веб-разработчикам влиять на развитие новейшей веб-платформы Internet Explorer. В июне мы выпустили Internet Explorer Developer Channel, который можно было установить наряду с основной версией Internet Explorer 11. Благодаря полученным отзывам многие из компонентов, предварительные версии которых были представлены в Internet Explorer Developer Channel, были включены в августовское обновление для Internet Explorer 11.

Чтобы продолжить предварительное знакомство с новейшей веб-платформой Internet Explorer, станьте участником программы Windows Insider Program и установите Windows 10 Technical Preview. После присоединения к программе Windows Insider Program вы будете подписаны на периодические обновления предварительной сборки и будете в курсе новейших разработок, касающихся Windows и Internet Explorer.

Впереди много нового

Это был лишь краткий обзор. Мы надеемся более подробно рассказать об HTTP/2, улучшениях производительности Chakra, изменениях синтаксического разбора доменов верхнего уровня и Internet Explorer Platform Suggestion Box в будущих записях блога. Чтобы узнать больше, примите участие в нашем регулярном чате #AskIE в Твиттере на канале @IEDevChat 2 октября в 10:00–12:00 по Тихоокеанскому времени.

— Чарльз Моррис (Charles Morris), старший руководитель программы, Internet Explorer

HTTP/2 — долгожданное продолжение

MSDN Blogs - 9 hours 46 min ago
Готовы ускорить все операции?

Здесь, в Майкрософт, мы развертываем в Internet Explorer поддержку первой существенной модификации протокола Hypertext Transfer Protocol с 1999 года. Прошло некоторое время, так что пора.

За прошедшие годы было предпринято много попыток оптимизировать веб-архитектуру, однако ни одна из них не достигала масштаба HTTP/2. Мы напряженно работали над созданием этого нового эффективного и совместимого стандарта в рамках рабочей группы IETF HTTPbis. По очевидным причинам он называется HTTP/2. И теперь он доступен и встроен в новый Internet Explorer, начиная с Windows 10 Technical Preview.

Вы можете ознакомиться с обзором нашей работы в рамках рабочей группы HTTPbis на странице Microsoft Open Technologies HTTP/2.

Почему Internet Explorer лидирует в реализации протокола HTTP/2?

Быстродействие играет важную роль в мире, где все чаще используются операции в режиме реального времени и мобильные технологии. Значение имеют даже небольшие улучшения. Например, исследование Bing показало, что ускорение загрузки страниц на 10 мс приносит сайту 250 тыс. долл. США прибыли ежегодно. Ускорение на 100 мс, что составляет одну треть скорости моргания человеческого глаза, аннулировало три месяца работы по повышению вовлеченности пользователей через улучшенное соответствие результатов поиска. Было показано, что задержка отклика веб-страницы транзакций в 100 мс стоит крупным интернет-магазинам до 1 % от продаж из-за отказа от поиска. Таким образом, деятельность данной рабочей группы имеет реальный экономический эффект.

Что не так с прошлой ситуацией?

В значительной мере загрузка веб-страницы в настоящее время выполняется почти так же, как и во времена экранов размером 800x600 пикселей. Несомненно, Интернет сегодня работает быстрее, но он может работать гораздо быстрее и гораздо эффективнее с точки зрения использования ресурсов.

В настоящее время создание страницы по-прежнему требует множества отдельных запросов между браузером и сервером, и перед отправкой каждого последующего вызова необходимо ждать ответа сервера на предыдущий. Разумеется, вы можете открыть больше независимых параллельных подключений, но число элементов, запрашиваемых одновременно, по-прежнему ограничено. Кроме того, это диктует порядок ответов и не позволяет серверу оптимизировать их.

В чем заключаются отличия HTTP/2?

HTTP/2 доставляет элементы веб-страницы быстрее и эффективнее, используя всю доступную пропускную способность. Благодаря долговременным подключениям и мультиплексированию (способности протокола объединять множество запросов для одного подключения) больше элементов веб-страницы загружаются быстрее. Экспериментальные компоненты HTTP/2, такие как отправка данных по инициативе сервера и зависимости запросов, могут еще больше повысить веб-производительность в будущем.

Что это означает для разработчиков?

Протокол HTTP/2 изначально разрабатывался так, чтобы обеспечивать обратную совместимость с HTTP/1.1. Это означает, что разработчикам библиотек HTTP не требуется изменять API-интерфейсы, а разработчикам, использующим эти библиотеки, не придется изменять код своих приложений. Это огромное преимущество: разработчики могут двигаться вперед в своей работе, не тратя месяцы на обновление кода, написанного ранее.

А как обстоят дела с сетями? И безопасностью?

Меньшее количество и более низкая частота подключений также означают, что при использовании HTTP/2 нагрузка на сеть будет меньше. Если учесть масштабы современного Интернета, это может привести к существенному росту эффективности использования сетей, особенно мобильных. Благодаря эффективной модели подключений HTTP/2 влияние добавления TLS на сайт на быстродействие будет снижена, и больше администраторов смогут добавить TLS на свои сайты.

Когда HTTP/2 будет доступен?

Поддержка HTTP/2 включена в Internet Explorer в Windows 10 Technical Preview. Работа над HTTP/2 для Internet Explorer фактически началась в Windows 8.1 и Windows Phone 8.1, когда мы добавили поддержку экспериментального протокола SPDY 3.0. У нас был шанс набраться опыта использования протокола HTTP с мультиплексированием, и это помогло нам перейти к созданию HTTP/2, который станет отраслевым стандартом.

Протокол SPDY стал хорошей отправной точкой для стандарта HTTP/2, но это экспериментальный протокол, не предназначенный для многолетнего использования. С развитием HTTP/2 мы уберем поддержку SPDY во всех будущих версиях Internet Explorer. Веб-сайты и приложения, использующие SPDY, должны быть переведены на HTTP/2 без внесения изменений или посредством внесения небольших изменений.

Как разработчикам и владельцам сайтов подготовиться к этому изменению?
  • Запустите версию Internet Explorer из Windows 10 Technical Preview.
  • Запустите средства разработчика и включите трассировку сети.
  • Загрузите сайты, поддерживающие черновик 14 стандарта HTTP/2. Некоторые отличные сайты перечислены на страницах реализации в разделе: https://github.com/http2/http2-spec/wiki/Implementations.
  • Просмотрите поток пакетов HTTP/2.

В Technical Preview имеется также поддержка сервера HTTP/2. Это означает, что вы можете создавать сайты в IIS и полностью тестировать ваш контент. Примечание: в версиях Technical Preview браузера Internet Explorer и служб IIS небезопасные подключения (то есть HTTP) не поддерживаются в HTTP/2; в HTTP/2 поддерживаются только безопасные подключения (то есть HTTPS).

Воспользуйтесь нашей реализацией HTTP/2 и примите участие в ее тестировании! Поделитесь вашими отзывами через @IEDevChat или Connect.

— Роб Трейс (Rob Trace), старший руководитель программы

— Дэвид Уолп (David Walp), старший руководитель программы

Мобильный Интернет должен одинаково работать для всех

MSDN Blogs - 9 hours 46 min ago

Дополнение от 4 августа 2014 г. — теперь разработчики могут ознакомиться с этими обновлениями, присоединившись к сообществу Windows Phone Preview для разработчиков или скачав эмулятор обновления Windows Phone 8.1. Сведения об изменениях платформы, описанных в данной статье, можно найти на сайте MSDN. Мы также опубликовали обновленные рекомендации по обновлению настроенных сайтов для обеспечения их соответствия стандартам.

Обновление Windows Phone 8.1 включает в себя сотни усовершенствований Internet Explorer 11, которые значительно улучшают совместимость с мобильным Интернетом.

Основываясь на ваших отзывах, мы стремились сделать работу в Internet Explorer похожей на работу с Интернетом на устройствах на базе iOS и Android, даже если для этого требовалось добавлять в веб-платформу нестандартные компоненты. Мы считаем такой подход более практичным в современном мире мобильного Интернета, для которого характерен уход от чрезмерной стандартизации.

Мы протестировали более 500 ведущих сайтов для мобильных устройств и выяснили, что обновление Internet Explorer 11 улучшает работу на более чем 40 % из них.

Например, раньше при открытии сайта www.twitter.com в Internet Explorer 11 вы видели следующее:

Windows Phone 8.1

А вот что вы увидите в Internet Explorer 11 с обновлением, в Firefox OS и на iPhone:

Обновление для Windows Phone 8.1 Firefox OS iPhone с iOS7

Аналогичным образом, если открыть сайт www.baidu.com в Internet Explorer 11 и Firefox OS, вы увидите следующее:

Windows Phone 8.1 Firefox OS

А вот что вы увидите в Internet Explorer 11 с обновлением и на iPhone:

Обновление для Windows Phone 8.1 iPhone с iOS7 Анализ наиболее популярных веб-сайтов

В отличие от основанного на стандартах "классического" Интернета многие современные веб-страницы для мобильных устройств проектировались и разрабатывались для iOS и iPhone. Это часто приводит к тому, что взаимодействие с пользователями других устройств осуществляется на более низком уровне.

Несколько недель назад мы рассказали о своей концепции и приоритетах относительно Интернета. Мы убеждены, что "Мобильный Интернет должен одинаково работать для всех — пользователей, разработчиков и предприятий". Мы начали работать в этом направлении, стараясь выяснить, что именно заставит мобильный Интернет работать по указанному выше принципу.

По мере анализа наиболее популярных сайтов для мобильных устройств по всему миру мы стали находить характерные особенности, которые и вызывали проблемы. Часто на сайтах использовался несовершенный код обнаружения, который вынуждал пользователей Windows Phone работать с классической версией сайта. Классические веб-сайты обычно имеют больший размер и медленнее загружаются, вынуждая пользователей тратить больше денег на передачу данных. Эти сайты отображаются с мелким текстом, и вам приходится тратить много времени на масштабирование и панорамирование для нормального чтения материала. Кроме того, на них предполагается использование мыши, что затрудняет работу с меню и формами.

Когда операционная система Windows Phone 8.1 перешла на этап коммерческого выпуска (RTM), она содержала ту же быстродействующую, основанную на стандартах подсистему браузера Internet Explorer 11, которая применяется в классической версии Internet Explorer на настольных компьютерах. Уже несколько лет мы рассматривали возможность реализации одинаковой разметки во всех браузерах на базе обнаружения компонентов и постепенного сокращения возможностей. Хотя время от времени мы все еще натыкаемся на классические сайты, не следующие данным рекомендациям, общая ситуация в сфере настольных систем значительно улучшилась. В сфере мобильного Интернета все совершенно иначе. Многие сайты используют компоненты через устаревший префикс поставщика, не поддерживая при этом стандартную беспрефиксную версию или поддерживая только префиксы поставщика для определенных устройств. Другие сайты используют нестандартные фирменные API, которые работают только с Safari или Chrome. Конечно же, и в Internet Explorer были ошибки и отсутствующие компоненты, которые приводили к проблемам на мобильных версиях сайтов, разработанных специально для браузеров наших конкурентов.

Обновление Internet Explorer в обновлении для Windows Phone 8.1

Мы собрали все эти данные о совместимости и начали планировать, какие именно изменения следует внести в Internet Explorer. В оставшейся части этой записи блога описываются некоторые из самых важных изменений и дается соответствующее обоснование. Большинство проблем, затрагивающих сайты для мобильных устройств, можно разделить на пять основных категорий:

  • Неправильные механизмы определения браузера не распознают Internet Explorer в качестве мобильного браузера и выводят версию для настольных компьютеров.
  • Используются только устаревшие компоненты с префиксами webkit, замененные стандартами.
  • Используются собственные компоненты с префиксами webkit, для которых стандарты отсутствуют.
  • Используются компоненты, которые не поддерживаются Internet Explorer, без мягкой деградации.
  • Выявление ошибок взаимодействия и отличий в реализации возможностей в Internet Explorer.
Изменение строки агента пользователя

Одна из самых значительных проблем заключалась в том, что сайты не определяют Internet Explorer на Windows Phone в качестве мобильного браузера и предоставляют контент для настольных компьютеров. Это часто приводит к отображению сайтов с мелким текстом, и вам требуется масштабировать и панорамировать сайт перед чтением. Кроме того, часто в этом случае передается больший объем данных, так как контент не оптимизирован для мобильных устройств. Изображения имеют большой размер, а также загружается и отображается больше рекламных объявлений.

Существует множество разных способов, с помощью которых сайты определяют необходимость в предоставлении мобильной версии. Вот одна из таких проверок, найденная нами на реальном сайте:

window.mobileCheck = function() {

var check = false;

(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);

return check;
}

Мы обновили строку агента пользователя В Internet Explorer на Windows Phone, чтобы увеличить число сайтов, которые будут правильно предоставлять оптимальный мобильный контент. Это продолжает историю с проблемной схемой, которая потребовала доработки всех браузеров и встречалась подавляющему числу веб-разработчиков. Например, имеется интересное обсуждение, датированное еще 2006 годом и посвященное ошибке WebKit с заголовком "Safari лжет. Выдает себя за Mozilla, Gecko и KHTML". Когда мы выпускали Internet Explorer 11 на настольных системах, мы добавили в строку токен "like Gecko" (как Gecko), так как это значительно улучшило совместимость с классическими сайтами. Chrome и Opera заявляют о себе, как о Gecko и Safari, чтобы обеспечить совместимость с веб-контентом.

Если открыть сайт www.hawaiianairlines.com в Internet Explorer 11 и Firefox OS, вы увидите классический интерфейс:

Windows Phone 8.1 Firefox OS

А вот что вы увидите в Internet Explorer 11 с обновлением и на iPhone:

Обновление для Windows Phone 8.1 iPhone с iOS7

Если открыть сайт www.nytimes.com в Internet Explorer 11 и Firefox OS, вы также увидите классический интерфейс:

Windows Phone 8.1 Firefox OS

А вот что вы увидите в Internet Explorer 11 с обновлением и на iPhone:

Обновление для Windows Phone 8.1 iPhone с iOS7

В качестве общей рекомендации мы советуем разрабатывать гибкий сайт, способный адаптироваться к возможностям разных устройств. Если вы решили создать интерфейс исключительно для мобильных устройств, рекомендуем выполнить поиск вложенной строки "mobile" в строке агента пользователя, чтобы определить, когда следует предоставлять оптимизированный мобильный контент:

function isMobile() {
    return navigator.userAgent.toLowerCase().indexOf("mobile")>=0;
}

Сопоставление устаревших компонентов с префиксами webkit с реализацией Internet Explorer

После изменения строки агента пользователя, позволяющего Internet Explorer получать тот же контент, который получают другие браузеры на телефонах, мы смогли начать анализ проблем, возникающих при взаимодействии с пользователями мобильных устройств. Первая серьезная проблема заключалась в том, что многие сайты для мобильных устройств отправляли только контент с префиксами webkit для градиентов, адаптируемых блоков, переходов и анимаций на основе CSS. Подсистема браузера Internet Explorer 11 уже поддерживает эти возможности для сайтов с разметкой для разных браузеров. Как выяснила группа разработчиков Mozilla, WebKitCSSMatrix широко распространен на мобильных устройствах. Internet Explorer поддерживает MSCSSMatrix. Многие сайты также используют window.orientation вместо развивающегося стандарта screen.orientation. Вторая проблема заключалась в том, что в коде сайтов часто использовался старый синтаксис. Например, вместо обновленной методики на основе стандартов применялся старый синтаксис градиентов.

В обновлении для Windows Phone 8.1 мы добавили сопоставление популярных API, имеющих префиксы webkit, с основанными на стандартах компонентами, которые уже поддерживаются в Internet Explorer 11. Это означает, что для сайтов, передающих только код WebKit, по мере загрузки страницы выполняется преобразование в код на основе стандартов. Мы не планируем обеспечивать поддержку всех API с префиксами webkit и предоставили сопоставления только для тех из них, которые настолько распространены на сайтах для мобильных устройств, что нормальная работа с Интернетом без них невозможна.

При открытии сайта www.macys.com в Internet Explorer 11 вы видите следующее:

Windows Phone 8.1

Здесь видно, что в Internet Explorer 11 с обновлением и на iPhone градиенты отрисовываются правильно:

Обновление для Windows Phone 8.1 iPhone с iOS7

При открытии сайта www.answers.com в Internet Explorer 11 вы видите следующее:

Windows Phone 8.1

Здесь видно, что в Internet Explorer 11 с обновлением и на iPhone сайт отрисовывается правильно:

Обновление для Windows Phone 8.1 iPhone с iOS7 Добавление поддержки нестандартных собственных компонентов

Мы обнаружили, что небольшое количество нестандартных компонентов, реализованных Apple на iPhone, получили широкое распространение. Сейчас эти компоненты не включены в стандарты, однако отсутствие их поддержки в браузерах вызывает нарушения в работе ведущих сайтов в мобильном Интернете. Одним из примеров таких компонентов является -webkit-appearance, который позволяет странице изменять стиль элемента, согласуя его с собственными приложениями. Как отмечают разработчики Mozilla, "мало того, что это нестандартный компонент, его поведение изменяется в разных браузерах". К сожалению, отсутствие определенного уровня поддержки таких нестандартных собственных компонентов затрудняет работу с веб-сайтами.

Новые компоненты, поддерживаемые в Internet Explorer

Существует несколько основанных на стандартах компонентов, которые не поддерживались Internet Explorer 11. Они редко используются на сайтах для настольных компьютеров, однако широко распространены в мобильном Интернете. Когда мы решили сделать Internet Explorer 11 более ориентированным на мобильный контент, нам потребовалось добавить эти компоненты. Например, window.locationbar определен в HTML5, но крайне редко используется на классических сайтах. Мы сконцентрировались на реализации нескольких новых компонентов с учетом того, на каких сайтах для мобильных устройств они используются.

Одной из самых значительных проблем, связанных с API и отрицательно влияющих на совместимость с сайтами для мобильных устройств, является поддержка управления касанием. В Internet Explorer 10 мы предоставили поддержку событий указателя, которая теперь имеет статус Candidate Recommendation в W3C, и обновили этот механизм в Internet Explorer 11 с учетом изменений в спецификации. Использование событий указателя предоставляет сайтам, обеспечивающим применение мыши, управления касанием, пера и других средств ввода, множество преимуществ с точки зрения производительности и функциональности. Мы также продолжаем рекомендовать этот API для сайтов, которые пользователи открывают на самых разных устройствах.

Большинство сайтов в мобильном Интернете ориентированы на использование устаревшей модели событий касания, а пользователям нужно, чтобы эти сайты просто работали. В обновлении Internet Explorer 11 мы добавили поддержку событий касания, что обеспечивает правильную работу таких сайтов. Проведенное нами исследование показало, что для классических сайтов реализация событий касания на устройстве, которое также поддерживает мышь (например, на планшетах Windows и устройствах "2 в 1"), вызывает больше проблем. Например, мы выяснили, что реализация событий касания вызвала нарушение поддержки мыши и сенсорной панели примерно на 10 % ведущих сайтов. Многие сайты не рассчитаны на одновременное получение событий мыши и событий касания и поддерживают только один из этих видов событий. Вместе с другими поставщиками браузеров мы присоединились к группе сообщества по событиям касания W3C, чтобы работать над устранением таких проблем в масштабах всего Интернета. Мы опубликовали дополнительную информацию о событиях указателя и касания в этой статье.

Устранение наиболее серьезных проблем взаимодействия

По мере дальнейшего изучения разметки на сайтах, неправильно работающих в Internet Explorer, мы выявили определенные проблемы взаимодействия. Например, элементы <button> и <label> внутри ссылок <a> доступны для независимого выбора в других браузерах, хотя данный момент не отмечен в документации. Другим примером является поддержка обновления <meta>. Согласно спецификации HTML5, для перенаправления на другой URL-адрес в состав элемента должна входить строка "URL=". В других браузерах данное требование отсутствует, и при неправильном использовании это приводит к постоянному обновлению страниц в Internet Explorer.

Наконец, мы также выявили несколько ошибок в подсистеме Trident, которые затрагивали ведущие сайты для мобильных устройств, и включили в данное обновление соответствующие исправления. Например, мы исправили некоторые проблемы с навигацией для location.hash и некоторые проблемы с разметкой CSS, затрагивающие популярные сайты для мобильных устройств.

Что можете сделать вы?

Многие внесенные нами изменения ориентированы на работу с устаревшим контентом или контентом с префиксами поставщика, опубликованным на таких сайтах. Мы не планируем обеспечивать поддержку всех API с префиксами поставщика -webkit-. Мы продолжим распространять свои идеи, чтобы стимулировать внедрение разметки, основанной на стандартах, на сайтах. А пока добавленная нами поддержка необходима для того, чтобы мобильный Интернет просто работал. Вы можете помочь нам в этом, если встречаетесь с сайтами, использующими нестандартный код: мы регистрируем неправильно работающие сайты совместно с компанией Mozilla на webcompat.com. Часто эти сайты вызывают проблемы в разных браузерах, включая Firefox и Internet Explorer, что упрощает поиск сайтов с такими проблемами.

Если вы разрабатываете веб-сайты, проверьте их с помощью сканера на сайте http://modern.ie. Это средство выявляет распространенные проблемы с кодом, включая ошибочное использование префиксов поставщиков, и помогает исправить код.

В совокупности, изменения, внесенные в Internet Explorer в обновлении Windows Phone 8.1, значительно улучшают совместимость с наиболее популярными веб-сайтами для мобильных устройств. Это обновление развертывается для тех из вас, кто использует Windows Phone 8.1 Preview для разработчиков, и будет развернуто для пользователей Windows Phone 8.1 в ближайшие несколько месяцев. Мы также опубликовали полный список всех изменений в руководстве по Internet Explorer для разработчиков на сайте MSDN.

Если у вас есть вопросы, вы можете связаться с нами через Twitter @IEDevChat. Следующий чат #AskIE будет проводиться сегодня (31 июля) с 10:00 до 12:00 по дневному тихоокеанскому времени. Не забудьте включить #AskIE в ваши вопросы.

Эдриан Бэйтмэн (Adrian Bateman)
Руководитель программы, Internet Explorer

Frank Olivier (Фрэнк Оливер)
Руководитель программы, Internet Explorer

Atualizações de agosto do Internet Explorer

MSDN Blogs - 9 hours 46 min ago

A atualização de agosto do Internet Explorer inclui atualizações nos recursos WebGL e F12, além das atualizações de segurança mais recentes.

Conforme discutido em no blog do Windows, continuaremos a usar nosso processo de atualização mensal existente para oferecer melhorias mais frequentes além das atualizações de segurança.

Novos recursos do Internet Explorer 11

A atualização inclui quatro melhorias de recurso, baseadas em comentários do cliente e do desenvolvedor. Algumas dessas melhorias foram visualizadas no Canal de Desenvolvedor do Internet Explorer e agora estamos prontos para o lançamento graças aos seus comentários.

Melhorias nas Ferramentas de Desenvolvedor F12

Esta atualização fornece melhorias substanciais nas ferramentas de desenvolvedor F12 – A interface do usuário, o console, o explorador do DOM, o depurador, a ferramenta de emulação, a capacidade de resposta da interface do usuário e as ferramentas de criação de perfil de memória possuem novos recursos e correções de bug.

Consulte o Artigo 2990946 da Base de Dados de Conhecimento da Microsoft para obter mais informações. Também postaremos mais detalhes sobre as melhorias de F12 em uma futura postagem no blog do IE.


Ferramenta de Capacidade de Resposta da Interface do Usuário F12 atualizada

Melhorias no renderizador WebGL

O renderizador WebGL também foi atualizado com o suporte às extensões ANGLE_instanced_arrays, OES_element_index_uint e WEBGL_debug_renderer_info, o atributo de criação de contexto failIfMajorPerformanceCaveat, as texturas de 16 bits, mais conformidade com GLSL, loop de linha e primitivos de leque de triângulos.

Além disso, mais sistemas do Windows 7 agora renderizarão WebGL no modo de hardware se os seus drivers estiverem atualizados.

Esta versão aumenta de 89,9% para 96,8% nossa pontuação no Teste de conformidade 1.0 3 do Khronos WebGL. Consulte o Artigo 2991001 da Base de Dados de Conhecimento da Microsoft para obter mais informações. Também teremos mais informações para compartilhar sobre WebGL em postagens futuras do blog do IE.

Suporte ao WebDriver

A atualização de agosto também oferece a base para o suporte do IE11 ao emergente padrão WebDriver, por meio do qual os desenvolvedores da Web podem criar testes para automatizar os navegadores da Web para testarem seus sites. Trata-se de um controle remoto programável para desenvolver cenários de usuário complexos e executá-los de forma automatizada no seu site e no navegador. A atualização de agosto contém alterações no mecanismo do navegador necessárias para habilitar o suporte nativo ao WebDriver. Você precisará instalar um pacote separado para executar scripts do WebDriver, que será lançado em breve.

Bloqueando controles ActiveX no Internet Explorer

Com o bloqueio a controle ActiveX desatualizado, o Internet Explorer ajuda a manter os controles ActiveX atualizados e mais seguros de usar. Para obter mais informações, consulte nossa postagem de blog e o Artigo 2991000 da Base de Conhecimento da Microsoft.

Atualizações de segurança do Internet Explorer

A atualização de agosto também inclui as seguintes atualizações de segurança:

  • Boletim de Segurança MS14-051 da Microsoft - Esta atualização de segurança crítica resolve uma vulnerabilidade divulgada publicamente e vinte e cinco vulnerabilidades relatadas privadamente no Internet Explorer. Para obter mais informações, consulte o boletim completo.
  • Atualização de Segurança do Flash Player (2982794) - Também estará disponível esta atualização de segurança do Adobe Flash Player no Internet Explorer 10 e 11 em todas as edições com suporte do Windows 8, Windows 8.1, Windows Server 2012 e Windows Server 2012 R2. Os detalhes dessas vulnerabilidades estão documentados no boletim de segurança da Adobe APSB14-18. A atualização corrige as vulnerabilidades do Adobe Flash Player ao atualizar no Internet Explorer 10 e no Internet Explorer 11 os binários do Adobe Flash afetados. Para obter mais informações, consulte o comunicado.
Permanecendo atualizado

A maioria dos clientes habilitou a atualização automática e não precisará realizar nenhuma ação porque essa atualização será baixada e instalada automaticamente. Os clientes que desabilitaram a atualização automática precisam verificar as atualizações e instalá-las manualmente.

Esperamos receber os seus comentários no @IEDevChat ou via Connect.

— Sharon Meramore, gerente de programas, Internet Explorer

— Charles Morris, gerente de programas geral, Internet Explorer

Internet Explorer-Update vom August

MSDN Blogs - 9 hours 46 min ago

Das Internet Explorer-Update vom August umfasst neben den aktuellen Sicherheitsupdates auch Updates für WebGL- und F12-Funktionen.

Wie bereits im Windows-Blog erläutert, erhalten Sie über den etablierten monatlichen Aktualisierungsprozess neben den Sicherheitsupdates weiterhin Verbesserungen für einzelne Funktionen und Tools.

Neue Funktionen für Internet Explorer 11

Das Update umfasst vier Funktionsverbesserungen, die auf Kunden- und Entwicklerfeedback beruhen. Einige dieser Verbesserungen wurden bereits im Internet Explorer Developer Channel angekündigt und können nun veröffentlicht werden. Vielen Dank für das Feedback.

Verbesserungen an den F12-Entwicklungstools

Mit diesem Update profitieren Sie bei den F12-Entwicklungstools von entscheidenden Verbesserungen: Es umfasst neue Funktionen und Fehlerbehebungen für die Benutzeroberfläche, die Konsole, den DOM-Explorer, den Debugger, das Emulationstool und die Tools für die Reaktionsfähigkeit der Benutzeroberfläche sowie die Speicherprofilerstellung.

Weitere Infromationen finden Sie im Microsoft Knowledge Base-Artikel 2990946. Außerdem erfahren Sie in einem zukünftigen IE-Blogbeitrag mehr über die Verbesserungen an F12.


Aktualisiertes F12-Tool für die Reaktionsfähigkeit der Benuteroberfläche

Verbesserungen am WebGL-Renderer

Der aktualisierte WebGL-Renderer unterstützt jetzt die Erweiterungen „ANGLE_instanced_arrays“, „OES_element_index_uint“ und „WEBGL_debug_renderer_info“, das Attribut für die Kontexterstellung „failIfMajorPerformanceCaveat“, 16-Bit-Texturen, mehr Übereinstimmungen mit GLSL und Line Loop- sowie Dreiecksfächer-Primitive.

Außerdem rendern nun mehr Windows 7-Systeme WebGL im Hardwaremodus, sofern die Treiber aktuell sind.

Mit dieser Version hat sich das Ergebnis des Khronos WebGL Conformance Test 1.0.3 von 89,9 % auf 96,8 % verbessert. Weitere Informationen finden Sie im Microsoft Knowledge Base-Artikel 2991001. Mehr über WebGL erfahren Sie in zukünftigen IE-Blogbeiträgen.

WebDriver-Unterstützung

Mit dem Update vom August unterstützt IE11 zudem den kommenden Standard für WebDriver, mit dem Webentwickler automatisierte Browsertests für ihre Websites erstellen können. WebDriver ist eine programmierbare Remotesteuerung zur Entwicklung komplexer Benutzerszenarien, die automatisch für die jeweilige Website und den entsprechenden Browser ausgeführt werden. Das Update vom August weist Änderungen an der Browser-Engine auf, die zur Aktivierung der systemeigenen WebDriver-Unterstützung erfroderlich sind. Zum Ausführen von WebDriver-Skripts müssen Sie ein separates Paket installieren, das in Kürze zur Verfügung steht.

Blockieren veralteter ActiveX-Steuerelemente in Internet Explorer

Durch die Blockierung veralteter ActiveX-Steuerelemente bleiben die verwendeten ActiveX-Steuerelemente in Internet Explorer auf dem neuesten Stand und können sicher eingesetzt werden. Weitere Informationen finden Sie in unserem Blogbeitrag und im Microsoft Knowledge Base-Artikel 2991000.

Sicherheitsupdates für Internet Explorer

Im Update vom August sind zudem folgende Sicherheitsupdates enthalten:

  • Microsoft-Sicherheitsbulletin MS14-051 – Mit diesem wichtigen Sicherheitsupdate werden eine öffentlich bekannt gegebene und 25 vertraulich gemeldete Sicherheitslücken in Internet Explorer geschlossen. Weitere Informationen finden Sie im vollständigen Bulletin.
  • Sicherheitsupdate für Flash Player (2982794) – Dieses Sicherheitsupdate für Adobe Flash Player in Internet Explorer 10 und 11 unter allen unterstützten Editionen von Windows 8, Windows 8.1, Windows Server 2012 und Windows Server 2012 R2 ist ebenfalls verfügbar. Ausführliche Informationen hierzu finden Sie im Adobe-Sicherheitsbulletin APSB14-18. Dieses Update behebt die Sicherheitsanfälligkeiten in Adobe Flash Player, indem die in Internet Explorer 10 und Internet Explorer 11 enthaltenen betroffenen Adobe Flash-Binärdateien aktualisiert werden. Weitere Informationen finden Sie in der vollständigen Sicherheitsempfehlung.
Immer auf dem neuesten Stand

Die meisten Kunden verwenden automatische Updates und müssen keine Maßnahmen ergreifen, da diese Updates automatisch heruntergeladen und installiert werden. Kunden, die automatischen Updates deaktiviert haben, müssen nach Updates suchen und diese Updates manuell installieren.

Wir freuen uns auf Ihr Feedback über Twitter @IEDevChat oder auf Connect.

– Sharon Meramore, Program Manager, Internet Explorer

– Charles Morris, Program Manager Lead, Internet Explorer

A Web para dispositivos móveis deve simplesmente funcionar para todos

MSDN Blogs - 9 hours 47 min ago

Atualização de 4/8/2014 - Os desenvolvedores agora podem visualizar essas atualizações ingressando no Windows Phone Preview para desenvolvedores ou baixando o Emulador de Atualização do Windows Phone 8.1. Os detalhes sobre as alterações de plataforma descritos nesta postagem podem ser encontrados no MSDN. Também publicamos uma atualização das práticas recomendadas sobre como atualizar sites adaptados para dar suporte aos padrões.

A Atualização do Windows Phone 8.1 inclui centenas de melhorias do Internet Explorer 11 que aumentam muito a compatibilidade com a Web para dispositivos móveis.

Com base em seus comentários, buscamos uma experiência da Web para usuários do IE consistente com o que está disponível em dispositivos iOS e Android, mesmo onde isso significava que estaríamos adicionando recursos de plataforma da Web fora do padrão. Acreditamos que esta seja uma abordagem mais pragmática para executar a Web para dispositivos móveis menos padronizada de hoje em dia.

Testamos mais de 500 dos principais sites da Web para dispositivos móveis e descobrimos que a atualização do IE11 aprimora a experiência em mais de 40% deles.

Por exemplo, se você visitasse www.twitter.com com o IE11, veria:

Windows Phone 8.1

Aqui está o que você vê no IE11 com a atualização, no Firefox OS e em um iPhone:

Atualização do Windows Phone 8.1 Firefox OS iPhone com iOS7

Semelhantemente, se você visitar www.baidu.com com o IE11 e o Firefox OS, verá:

Windows Phone 8.1 Firefox OS

Aqui está o que você vê no IE11 com a atualização e em um iPhone:

Atualização do Windows Phone 8.1 iPhone com iOS7 Analisando os sites da Web mais populares

Ao contrário da Web para computadores desktop, em sua maioria baseada em padrões, muitas páginas da Web para dispositivos móveis modernas foram projetadas e criadas para o iOS e o iPhone. Isso faz com que os usuários de outros dispositivos frequentemente tenham uma experiência inadequada.

Há algumas semanas, falamos sobre nossa visão e prioridades para a Web. Acreditamos que "A Web deve simplesmente funcionar para todos: usuários, desenvolvedores e empresas". Começamos pesquisando o que seria preciso para fazer a Web para dispositivos móveis "simplesmente funcionar" para os nossos clientes.

Conforme investigamos os sites da Web para dispositivos móveis mais populares em todo o mundo, começamos a ver padrões comuns causando problemas. Era comum encontrarmos sites que usavam um código de detecção de navegador escrito precariamente, pois ofereciam a experiência de sites feitos para computadores desktop em um Windows Phone. Os sites para desktop tendem a ser maiores e mais lentos de carregar, o que aumenta o consumo do plano de dados de um usuário. Esses sites ficam com texto minúsculo e gasta-se muito tempo tentando ampliar e fazer movimento panorâmico para ler o conteúdo. Eles também esperam que você esteja usando um mouse, portanto, os menus e os formulários são difíceis de usar.

Quando o Windows Phone 8.1 chegou ao RTM, ele incluía o mesmo mecanismo de navegador do IE11, rápido e baseado em padrões, usado na versão para PC do IE. Nos últimos anos, temos falado sobre como fornecer a mesma marcação para todos os navegadores usando a detecção de recurso e menos degradação. Embora continuemos a ver sites para desktop quebrados e que não seguem essa orientação de vez em quando, a situação melhorou. Temos uma situação muito diferente na Web para dispositivo móvel. Muitos sites usam recursos por meio de um prefixo de fornecedor herdado específico sem suporte a uma versão padrão sem prefixo ou apenas dão suporte a prefixos de fornecedor de determinados dispositivos. Outros sites usam APIs proprietárias fora do padrão que funcionam apenas com o Safari ou o Chrome. Claro, também existem bugs ou recursos ausentes no IE que se tornaram particularmente aparentes em sites móveis projetados especificamente para os navegadores de nossos concorrentes.

Atualizando o Internet Explorer na Atualização do Windows Phone 8.1

Coletamos todos estes dados de compatibilidade e, em seguida, começamos a planejar quais alterações devemos fazer no IE. O restante desta postagem de blog discute algumas das alterações mais importantes e o motivo de as termos feito. Os problemas que afetam os sites da Web para dispositivos móveis se enquadram principalmente em cinco principais categorias:

  • Detecção de navegador imprecisa que não reconhece o IE como um navegador móvel e oferece a experiência para desktop
  • Uso de recursos prefixados de webkit antigos que foram substituídos por padrões
  • Uso de recursos prefixados de webkit proprietários para os quais não há padrão
  • Uso de recursos aos quais o IE não dá suporte sem fallback adequado
  • Bugs de interoperabilidade e diferenças de implementação no IE
Alterando a cadeia de caracteres de agente de usuário

Um dos problemas mais significativos que vimos estava relacionado aos sites não detectarem que o IE no Windows Phone é um navegador móvel e, portanto, oferecer o conteúdo para desktop. Isso frequentemente resulta em sites exibidos com texto mínimo que você precisa ampliar para ler e, em seguida, fazer movimento panorâmico. Isso também significa frequentemente que mais dados sejam transmitidos por conexão de dados telefônica porque o conteúdo móvel não é otimizado. As imagens são grandes e muito mais anúncios são baixados e mostrados.

Existem muitas formas diferentes de os sites tentarem detectar se devem oferecer a experiência móvel. Aqui está uma verificação desse tipo que encontramos em um site real:

window.mobileCheck = function() {

var check = false;

(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);

return check;
}

Atualizamos a cadeia de caracteres de agente de usuário no IE no Windows Phone para aumentar o número de sites que ofereceriam corretamente o melhor conteúdo móvel. Isso continua a ser um padrão infeliz com o qual todos os navegadores devem lidar e a maioria dos desenvolvedores da Web têm que enfrentar. Por exemplo, existe uma discussão interessante desde 2006 em um bug de WebKit chamado o "Safari mente. Apresenta-se como Mozilla, Gecko e KHTML também." Quando lançamos o IE11 no desktop, adicionamos o token "como o Gecko" à cadeia de caracteres porque isso aprimorou significativamente a compatibilidade com os sites para desktop. Chrome e Opera que dizem ser como o Gecko e o Safari para serem compatíveis com o conteúdo da Web.

Visite www.hawaiianairlines.com com o IE11 e o Firefox OS e veja a experiência para desktop:

Windows Phone 8.1 Firefox OS

Aqui está o que você vê no IE11 com a atualização e em um iPhone:

Atualização do Windows Phone 8.1 iPhone com iOS7

Se você vista www.nytimes.com com o IE11 e o Firefox OS, também vê a experiência para desktop:

Windows Phone 8.1 Firefox OS

Aqui está o que você vê no IE11 com a atualização e em um iPhone:

Atualização do Windows Phone 8.1 iPhone com iOS7

Em geral, nosso conselho é desenvolver um site dinâmico que possa se adaptar aos recursos de dispositivos diferentes. Se você optar por criar uma experiência móvel específica, então, recomendamos procurar a subcadeia "móvel" na cadeia de caracteres de agente de usuário para determinar quando oferecer conteúdo otimizado móvel:

function isMobile() {
    return navigator.userAgent.toLowerCase().indexOf("mobile")>=0;
}

Mapeando recursos prefixados de webkit herdados para implementação do IE

Depois de alterarmos a cadeia de caracteres de agente de usuário para que o IE receba o mesmo conteúdo que outros navegadores de telefone, poderíamos começar a analisar os problemas que estavam prejudicando as experiências móveis. O primeiro problema importante que identificamos foi que muitos sites móveis somente enviam conteúdo prefixado de webkit para gradientes CSS, flexbox, transições e animações. Esses são recursos a que o mecanismo baseado em padrões da Web do IE11 já dão suporte em sites com marcação de navegador cruzado. Como a Mozilla descobriu, a WebKitCSSMatrix é usada comumente em dispositivos móveis. O IE dá suporte à MSCSSMatrix. Muitos sites também usam window.orientation em vez do padrão emergente screen.orientation. O segundo problema que descobrimos é que os sites também usam frequentemente sintaxe antiga em seu código. Por exemplo, usar a sintaxe de gradiente antiga em vez da abordagem atualizada baseada em padrões.

Na Atualização do Windows Phone 8.1, adicionamos um mapeamento de APIs prefixadas de webkit ao suporte baseado em padrões que já faz parte do IE11. Isso significa que os sites que apenas enviam código WebKit são convertidos em código baseado em padrões conforme a página é carregada. Não estamos planejando dar suporte a todas as APIs prefixadas de webkit. Adicionamos mapeamentos para aquelas que são tão importantes em sites móveis que a Web não funcionará sem elas.

Se você visitar www.macys.com com o IE11, verá:

Windows Phone 8.1

Aqui você pode ver os gradientes exibidos corretamente no IE11 com a atualização e um iPhone:

Atualização do Windows Phone 8.1 iPhone com iOS7

Se você visitar www.answers.com com o IE11, verá:

Windows Phone 8.1

Aqui você pode ver o site exibido corretamente no IE11 com a atualização e um iPhone:

Atualização do Windows Phone 8.1 iPhone com iOS7 Adicionando suporte a recursos proprietários fora do padrão

Encontramos um pequeno número de recursos fora do padrão popularizados pela Apple no iPhone usados amplamente. Esses recursos não estão no momento em um controle de padrões, mas os navegadores que não dão suporte a eles não podem fornecer uma boa experiência para os sites principais na Web para dispositivo móvel. Um exemplo é -webkit-appearance, que permite que uma página modifique o estilo de um elemento para corresponder a aplicativos nativos. Como a Mozilla indica, "esse recurso não apenas é fora do padrão, mas seu comportamento muda de um navegador para outro." Infelizmente, sem algum nível de suporte a esses recursos proprietários fora do padrão, os sites são mais difíceis de usar.

Novos recursos com suporte no IE

Existem vários recursos baseados em padrão os quais o IE11 não dava suporte que são usados de vez em quando em sites para desktop, mas são usadas comumente na Web para dispositivo móvel. Quando fizemos o IE11 receber mais conteúdo móvel, determinamos que precisaríamos adicionar esses recursos. Por exemplo, window.locationbar é definido em HTML5 mas raramente usado em sites para desktop. Priorizamos a implementação de vários novos recursos com base nos sites móveis que eles habilitam.

Um dos maiores problemas relacionados a APIs que afetam a compatibilidade com sites móveis é o suporte a toque. No IE10, lançamos o suporte a Eventos de Ponteiro, que agora é uma Recomendação de Candidato no W3C, e atualizamos a implementação no IE11 para incorporar alterações na especificação. Usar Eventos de Ponteiro oferece mais vantagens de desempenho e funcionais para os sites que devem usar mouse, toque, caneta ou outras entradas de ponteiro e continuamos a recomendar essa como a melhor API para sites que funcionam para os usuários em todos os seus dispositivos.

Na Web para dispositivo móvel, muitos sites foram codificados para usar o modelo mais antigo de Eventos de Toque e os usuários esperam que esses sites simplesmente funcionem. Na atualização do IE11, adicionamos suporte a eventos de toque para que esses sites funcionem corretamente. Nossa pesquisa mostrou que na Web para dispositivo móvel, habilitar eventos de toque em um dispositivo que também dá suporte a um mouse (como tablets com Windows e dispositivos 2 em 1) causa mais problema. Por exemplo, descobrimos que o suporte a mouse e a trackpad não funciona em cerca de 10% dos sites principais quando os Eventos de Toque são habilitados. Muitos sites não esperam ser capazes de receber eventos de toque e eventos de mouse e apenas dão suporte a um e a outro. Nós nos juntamos a outros fornecedores de navegador no Grupo da Comunidade de Eventos de Toque W3C para trabalharmos nesses problemas da Web em grande escala. Publicamos mais detalhes sobre os eventos de ponteiro e de toque nesta postagem.

Corrigindo os problemas de interoperabilidade mais impactantes

Conforme continuamos a investigar a marcação em sites que não estavam funcionando corretamente no Internet Explorer, descobrimos alguns problemas de interoperabilidade peculiares. Por exemplo, elementos <button> e <label> dentro de links <a> são independentemente clicáveis em outros navegadores, embora esse comportamento não esteja claramente documentado aqui. Outro exemplo é o suporte à atualização de <meta>. A especificação HTML5 espera que a cadeia de caracteres "URL=" seja parte do conteúdo do elemento para redirecionar para uma URL diferente. Outros navegadores não requerem isso e, quando usadas incorretamente dessa forma, as páginas no IE pareceriam se atualizar constantemente.

Finalmente, também identificamos vários bugs no mecanismo Trident que impactaram particularmente os principais sites móveis e incluímos correções para esses problemas nesta atualização. Por exemplo, corrigimos alguns problemas de navegação com location.hash e alguns problemas de layout CSS que estavam afetando sites móveis populares.

O que você pode fazer?

Muitas dessas alterações que fizemos são especificamente direcionadas ao consumo de conteúdo prefixado de fornecedor ou herdado nesses sites. Não é a nossa meta dar suporte a todas as APIs prefixadas de fornecedor de -webkit. Embora continuemos nossos esforços de atendimento para encorajar esses sites a adotarem marcação baseada em padrões, o suporte que adicionamos é necessário hoje em dia para a Web para dispositivo móvel simplesmente funcionar. Você também pode ajudar aqui se vir sites usando código não padrão: estamos colaborando com a Mozilla em webcompat.com para registrar sites quebrados. Esses sites frequentemente causam problemas em vários navegadores, incluindo o Firefox e o IE e é fácil você relatar sites problemáticos.

Se você for um desenvolvedor da Web, execute o seu site por meio da ferramenta do scanner em http://modern.ie. Essa ferramenta identificará problemas de codificação comuns, incluindo problemas com prefixos de fornecedor e ajuda você a corrigir seu código.

Quando consideradas juntas, as alterações que fizemos no IE na Atualização do Windows Phone 8.1 aprimoraram significativamente a compatibilidade com os sites móveis mais populares. A atualização é distribuída para aqueles que já estão no Windows Phone 8.1 Preview para desenvolvedores e será distribuída para consumidores com dispositivos que executam o Windows Phone 8.1 nos meses subsequentes. Também publicamos uma lista abrangente de todas as alterações no Guia do Desenvolvedor do IE no MSDN.

Se você tiver dúvidas, conecte-se conosco no Twitter @IEDevChat. O próximo #AskIE chat por tweet é hoje (31 de julho) de 10h ao meio dia PDT. Certifique-se de incluir #AskIE em suas dúvidas.

Adrian Bateman
gerente de programas, Internet Explorer

Frank Olivier
gerente de programa, Internet Explorer

모두에게 최적의 사용 환경을 제공하는 모바일 웹

MSDN Blogs - 9 hours 47 min ago

2014년 8월 4일 업데이트 - 개발자는 이제 해당 업데이트를 개발자용 Windows Phone Preview에 가입하거나 Windows Phone 8.1 업데이트 에뮬레이터를 다운로드하여 미리 볼 수 있습니다. 이 게시물에서 설명하는 플랫폼 변경 사항에 관한 자세한 내용은 MSDN에서 확인할 수 있습니다. 또한 표준 지원을 위해 맞춤형 사이트를 업데이트하는 방법에 관한 업데이트된 모범 사례도 게시했습니다.

Windows Phone 8.1 업데이트에는 모바일 웹과의 호환성을 크게 높여 주는 수백 가지의 Internet Explorer 11 향상 기능이 포함되어 있습니다.

여러분의 의견을 바탕으로 IE 사용자를 위한 웹 환경이 iOS 및 Android 장치에서 이용하는 웹 환경과 일치하도록 만들었습니다. 즉, 비표준 웹 플랫폼 기능도 추가할 수 있다는 의미입니다. 이것은 오늘날 표준화 수준이 낮은 모바일 웹의 실행을 위한 좀 더 현실적인 접근 방식이라 생각합니다.

500개 이상의 상위 모바일 웹 사이트를 테스트한 결과, 40% 이상의 모바일 웹 사이트에서 IE11 업데이트로 향상된 경험을 제공할 수 있음을 확인했습니다.

예를 들어, IE11에서 www.twitter.com을 방문하면 다음 화면이 표시되었습니다.

Windows Phone 8.1

그러나 업데이트된 IE11과 Firefox OS 및 iPhone에서의 화면은 다음과 같습니다.

Windows Phone 8.1 업데이트 Firefox OS iOS7 지원 iPhone

이와 마찬가지로 IE11과 Firefox OS에서 www.baidu.com을 방문하면 다음 화면이 표시됩니다.

Windows Phone 8.1 Firefox OS

그러나 업데이트된 IE11과 iPhone에서의 화면은 다음과 같습니다.

Windows Phone 8.1 업데이트 iOS7 지원 iPhone 가장 인기 있는 웹 사이트 분석

대부분의 표준 기반 '데스크톱' 웹과 달리, 최신 모바일 웹 페이지는 iOS 및 iPhone에 맞게 설계 및 제작되었습니다. 이로 인해 다른 장치의 사용자들은 종종 성능이 저하된 환경을 경험하게 됩니다.

몇 주 전에 웹에 대한 우리의 비전과 우선순위에 대해 이야기했습니다. 우리는 "웹이 사용자, 개발자 및 기업 모두에게 최적의 사용 환경을 제공해야 한다."고 생각하여 모바일 웹이 고객을 위해 "최적의 사용 환경을 제공"하도록 만들기 위해 무엇이 필요한지 연구하기 시작했습니다.

세계에서 가장 인기 있는 모바일 웹 사이트를 조사하여 문제의 원인이 되는 일반적인 패턴을 찾기 시작했습니다. 잘못 작성된 브라우저 검색 코드를 사용하여 Windows Phone 사용자를 위한 데스크톱 사이트 경험에 영향을 주는 사이트가 종종 있습니다. 데스크톱 웹 사이트가 더 커지고 로드하는 시간이 더 느려지는 경향을 보이면서 사용자가 더 많은 데이터 요금을 부담해야 하는 상황이 발생하고 있으며, 이러한 사이트에는 결국 짧은 텍스트가 담겨 있어 콘텐츠를 읽기 위해 확대하고 이동하느라 많은 시간을 소요하게 되는 상황입니다. 또한 마우스를 사용해야 하므로 메뉴와 양식을 사용하는 것이 어려울 것으로 보입니다.

Windows Phone 8.1 RTM 릴리스에서는 데스크톱에서 PC 버전의 IE를 지원하는 이전처럼 빠른 표준 기반의 IE11 브라우저 엔진을 포함했습니다. 지난 몇 년 동안 우리는 기능 검색 및 순차적 기능 저하를 사용하는 모든 브라우저에 동일한 마크업을 제공하는 방법에 대해 알아보았습니다. 아직도 이 지침을 따르지 않아 중단된 데스크톱 사이트를 종종 볼 수 있지만 데스크톱에서의 상황이 개선되었습니다. 우리는 모바일 웹에서는 상황이 훨씬 다르다는 것을 확인했습니다. 많은 사이트에서 접두사가 없는 표준 버전을 지원하지 않는 기존의 공급업체별 접두사를 통해 기능을 사용하거나, 특정 장치에 대해서만 공급업체 접두사를 지원합니다. Safari 또는 Chrome에서만 작동하는 비표준 독점 API를 사용하는 사이트도 있습니다. 물론 IE에도 경쟁사의 브라우저를 위해 특별히 설계된 모바일 사이트에서 확연하게 드러난 버그나 누락된 기능이 있었습니다.

Windows Phone 8.1 업데이트에서 Internet Explorer 업데이트

우리는 호환성 데이터를 모두 수집한 후 IE에 필요한 변경 사항을 계획하기 시작했습니다. 이제 몇 가지 가장 중요한 변경 사항과 변경한 이유에 대해 알아보겠습니다. 모바일 웹 사이트에 영향을 미치는 문제는 다음과 같이 크게 다섯 가지의 주요 범주로 나뉩니다.

  • IE를 모바일 브라우저가 아닌 데스크톱 환경으로 인식하는 브라우저 검색 오류
  • 표준으로 대체된 이전 Webkit 접두사 기능만 사용
  • 표준이 없는 고유 Webkit 접두사 기능 사용
  • 순차적 대안 없이 IE에서 지원하지 않는 기능 사용
  • IE에서 구현 차이 및 상호 운용성 버그 발생
사용자 에이전트 문자열 변경

지금까지 확인된 가장 중요한 문제 중 하나는 Windows Phone의 IE가 모바일 브라우저라는 것을 감지하지 못해 데스크톱 콘텐츠를 제공하는 사이트와 관련된 문제입니다. 이로 인해 사이트의 텍스트가 확대하고 이동해야 읽을 수 있도록 작게 표시되는 경우가 종종 발생합니다. 또한 콘텐츠가 모바일에 최적화되어 있지 않기 때문에 종종 휴대폰의 데이터 연결 한도 이상으로 더 많은 데이터가 전송되기도 합니다. 이미지는 커지고 더 많은 광고가 다운로드되어 표시됩니다.

사이트가 모바일 환경을 제공하는지 여부를 감지하는 다양한 많은 방법이 있습니다. 실제 사이트에서 확인한 한 가지 검사 방법을 여기서 소개합니다.

window.mobileCheck = function() {

var check = false;

(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);

return check;
}

우리는 Windows Phone의 IE에서 최적의 모바일 콘텐츠를 정확하게 제공하는 사이트의 수를 증가시키기 위해 사용자 에이전트 문자열을 업데이트했습니다. 이로 인해 대부분의 웹 개발자가 ��든 브라우저에서 처리해야 하는 적절하지 않은 패턴이 계속되었습니다. 예를 들면, 2006년 초 WebKit 버그에서 "Safari lies. Reports itself as Mozilla, Gecko and KHTML too."(Safari의 존재. Mozilla, Gecko 및 KHTML로도 보고)라는 제목의 흥미로운 논의가 진행되었습니다. 데스크톱에 IE11을 탑재할 때 데스크톱 사이트와의 호환성이 대폭 개선되었기 때문에 문자열에 "like Gecko"라는 토큰을 추가했습니다. ChromeOpera도 웹 콘텐츠와의 호환성을 위해 like Gecko 및 Safari를 표방하고 있습니다.

IE11 및 Firefox OS를 통해 www.hawaiianairlines.com을 방문하면 다음과 같은 데스크톱 환경을 확인할 수 있습니다.

Windows Phone 8.1 Firefox OS

그러나 업데이트된 IE11과 iPhone에서의 화면은 다음과 같습니다.

Windows Phone 8.1 업데이트 iOS7 지원 iPhone

또한 IE11 및 Firefox OS를 통해 www.nytimes.com을 방문하면 다음과 같은 데스크톱 환경을 확인할 수 있습니다.

Windows Phone 8.1 Firefox OS

그러나 업데이트된 IE11과 iPhone에서의 화면은 다음과 같습니다.

Windows Phone 8.1 업데이트 iOS7 지원 iPhone

일반적으로 다른 장치의 기능에 적응할 수 있는 응답성이 뛰어난 사이트를 개발하는 것이 좋습니다. 모바일 전용 환경을 구축하기로 선택한 경우, 모바일에 최적화된 콘텐츠를 제공하는 시기를 결정하기 위해 사용자 에이전트 문자열에서 하위 문자열 "mobile"을 찾을 것을 권장합니다.

function isMobile() {
    return navigator.userAgent.toLowerCase().indexOf("mobile")>=0;
}

기존의 Webkit 접두사 기능을 IE 구현에 매핑

사용자 에이전트 문자열을 변경하여 IE가 다른 휴대폰 브라우저와 동일한 콘텐츠를 수신하게 되면, 모바일 환경에 오류를 일으키는 문제를 분석할 수 있습니다. 우리가 파악한 첫 번째 중요한 문제는 CSS 그라데이션, 플렉스박스, 전환 및 애니메이션을 위해 Webkit 접두사 콘텐츠만을 전달하는 모바일 사이트가 많다는 것입니다. IE11의 웹 표준 기반 엔진은 이미 브라우저 간 마크업이 있는 사이트를 지원하는 기능이 있습니다. Mozilla에서 확인된 바와 같이, WebKitCSSMatrix는 일반적으로 모바일 장치에 사용되고 있으며, IE는 MSCSSMatrix를 지원합니다. 또한 많은 사이트에서 최근에 부상하고 있는 표준인 screen.orientation 대신 window.orientation을 사용합니다. 여기서 확인된 두 번째 문제는 코드에 기존 구문을 사용하는 사이트가 많다는 것입니다. 예를 들면, 업데이트된 표준 기반 방식 대신 기존의 그라데이션 구문을 사용하는 문제입니다.

Windows Phone 8.1 업데이트에서는 이미 IE11의 일부인 표준 기반 지원에 많이 이용되는 Webkit 접두사 API의 매핑을 추가했습니다. 이를 통해 WebKit 코드만 전달하는 사이트가 페이지가 로드되면서 표준 기반 코드로 변환됩니다. 모든 Webkit 접두사 API를 지원할 계획은 없지만, 모바일 사이트에서 일반적으로 사용되어 없으면 앱이 작동되지 않는 Webkit 접두사 API에 대한 매핑을 추가했습니다.

IE11에서 www.macys.com을 방문하면 다음 화면이 표시됩니다.

Windows Phone 8.1

그러나 업데이트된 IE11과 iPhone에서 그라데이션이 정확하게 그려진 화면은 다음과 같습니다.

Windows Phone 8.1 업데이트 iOS7 지원 iPhone

IE11에서 www.answers.com을 방문하면 다음 화면이 표시됩니다.

Windows Phone 8.1

그러나 업데이트된 IE11과 iPhone에서 사이트가 정확하게 그려진 화면은 다음과 같습니다.

Windows Phone 8.1 업데이트 iOS7 지원 iPhone 비표준 고유 기능에 대한 지원 추가

우리는 Apple에 의해 대중화되어 iPhone에서 널리 사용되는 일부 비표준 기능을 확인했습니다. 해당 기능은 현재 표준 트랙에는 없지만, 이를 지원하지 않는 브라우저는 모바일 웹에서 인기 사이트에 대해 뛰어난 환경을 제공할 수 없습니다. 한 예로 페이지에서 기본 응용 프로그램에 맞게 요소의 스타일을 수정할 수 있는 -webkit-appearance를 들 수 있습니다. Mozilla"이는 비표준일 뿐만 아니라 브라우저마다 동작이 달라진다"고 지적합니다. 하지만 이러한 비표준 고유 기능에 대한 일정 수준의 지원이 없는 경우 웹 사이트를 이용하기가 훨씬 어렵습니다.

IE에서 지원되는 새로운 기능

데스크톱 사이트에서 자주 사용하지 않아 IE11에서 지원하지 않았던 몇 가지 표준 기반의 기능을 모바일 웹에서는 일반적으로 사용할 수 있습니다. IE11에서 더 많은 모바일 콘텐츠를 수신하게 되었으므로 해당 기능을 추가해야 합니다. 예를 들어, window.locationbar는 HTML5에 정의되어 있지만 데스크톱 사이트에서는 거의 사용되지 않습니다. 우리는 활성화된 모바일 사이트를 기반으로 몇 가지 새로운 기능을 우선적으로 구현했습니다.

모바일 사이트와의 호환성에 크게 영향을 미치는 API 관련 문제 중 하나는 터치 지원입니다. IE10에서는 현재 W3C의 권고 후보안인 포인터 이벤트에 대한 지원을 추가했으며, IE11에서는 사양에 변경 사항을 통합하기 위해 구현을 업데이트했습니다. 포인터 이벤트를 사용하면 마우스, 터치, 펜 또는 기타 포인터 입력 중 하나를 사용하려는 사이트에 성능 및 기능상 많은 이점을 제공하므로, 모든 장치에서 사용자를 지원하는 사이트에 가장 적합한 API로 이를 계속 사용할 것을 권장합니다.

모바일 웹에서 대부분의 사이트는 오래된 터치 이벤트 모델을 사용하도록 코딩되어 있어 사용자는 해당 사이트가 최적의 사용 환경을 제공할 것으로 기대합니다. IE11 업데이트에서는 해당 사이트가 정확하게 작동할 수 있도록 터치 이벤트에 대한 지원을 추가했습니다. 또한 조사 결과 데스크톱 웹에서 Windows 태블릿 및 투인원 장치와 같은 마우스를 지원하는 장치에 터치 이벤트를 활성화하는 것이 더 많은 문제의 원인이 되는 것으로 나타났습니다. 예를 들어, 터치 이벤트가 활성화되었을 때 약 10% 가량의 인기 있는 사이트에서 마우스 및 트랙패드 지원이 중단되는 것으로 확인되었습니다. 많은 사이트에서 터치 이벤트와 마우스 이벤트를 받을 것으로 기대하지 않고 하나만 지원합니다. 우리는 W3C 터치 이벤트 커뮤니티 그룹에서 다른 브라우저 공급업체와 협력하여 대규모로 이러한 웹 관련 문제를 해결하기 위해 노력하고 있습니다. 이 게시물에 포인터 이벤트와 터치 이벤트에 대한 자세한 내용이 나와 있습니다.

가장 영향력 있는 상호 운용성 문제 해결

우리는 Internet Explorer에서 제대로 작동하지 않는 사이트의 마크업에 대한 조사를 계속하면서 몇 가지 독특한 상호 운용성 문제를 발견했습니다. 예를 들면, <a> 링크 내부의 <button>과 <label> 요소는 어디에도 그 동작이 명확하게 문서화되지 않았지만 다른 브라우저에서 독립적으로 클릭할 수 있습니다. 또 다른 예로, <meta> 새로고침 지원이 있습니다. HTML5 사양에서는 다른 URL로 리디렉션하기 위해 "URL=" 문자열이 요소의 일부 콘텐츠가 될 것으로 기대합니다. 다른 브라우저에는 이것이 필요하지 않으며, 이 방법이 잘못 사용되면 IE의 페이지는 끊임없이 새로고침되어 표시됩니다.

마지막으로, 특히 인기 있는 모바일 사이트에 영향을 주는 Trident 엔진에서 몇 가지 버그를 발견했으며, 이번 업데이트에 해당 문제에 대한 수정을 포함했습니다. 예를 들어, 인기 있는 모바일 사이트에 영향을 주는 location.hash 와 관련된 몇 가지 탐색 문제와 일부 CSS 레이아웃 문제를 수정했습니다.

다음 단계

특히 변경 사항의 많은 부분이 해당 사이트에 게시된 기존의 공급업체 접두사 콘텐츠를 사용하는 것을 목표로 하고 있습니다. 모든 Webkit 공급업체 접두사 API를 지원하는 것이 목표는 아니지만, 해당 사이트의 표준 기반 마크업 채택을 장려하기 위한 우리의 지원 노력은 계속될 것이며, 추가된 지원은 모두에게 최적의 사용 환경을 제공해야 하는 오늘날의 모바일 웹에 반드시 필요할 것입니다. 또한 비표준 코드를 사용하는 사이트에도 도움이 될 수 있습니다. 즉, 중단된 사이트를 기록하기 위해 Mozilla와 webcompat.com에서 협력하고 있습니다. 중단된 사이트는 Firefox 및 IE를 비롯해 다양한 브라우저에서 문제를 일으키므로 문제가 있는 사이트를 쉽게 보고할 수 있습니다.

웹 개발자인 경우 해당 사이트를 스캐너 도구를 통해 http://modern.ie에서 실행하십시오. 이 도구는 공급업체 접두사 문제를 포함하여 일반적인 코딩 문제를 파악하여 코드를 수정하는 데 도움이 됩니다.

Windows Phone 8.1 업데이트에서 IE에 변경된 기능이 모두 함께 실행되는 경우, 가장 인기 있는 모바일 웹 사이트와의 호환성을 극적으로 향상시킬 수 있습니다. 업데이트는 개발자용 Windows Phone 8.1 Preview에서 이미 제공하고 있으며, 향후 몇 달 동안 Windows Phone 8.1을 실행하는 장치를 사용하는 소비자에게 선보일 계획입니다. 또한 MSDN에 IE 개발자 가이드에 대한 모든 변경 사항을 포괄적인 목록으로 게시했습니다.

궁금한 사항이 있는 경우 Twitter(@IEDevChat)를 통해 의견을 주시기 바랍니다. 다음 번 트윗 채팅은 #AskIE에서 오늘(7월 31일) 오전 10시-12시(PDT)에 있습니다. #AskIE에 질문을 남겨 주시기 바랍니다.

Internet Explorer 프로그램 관리자,
Adrian Bateman

Internet Explorer 프로그램 관리자,
Frank Olivier

すべてのユーザーに対して適切に動作するモバイル Web

MSDN Blogs - 9 hours 47 min ago

2014 年 8 月 4 日更新: 開発者の方々は、開発者向け Windows Phone Preview に登録するか、Windows Phone 8.1 Update Emulator をダウンロードすることによって、これらの更新プログラムをプレビューできるようになりました。 この記事で説明しているプラットフォームの変更の詳細については、MSDN をご覧ください。標準をサポートするために調整済みのサイトを更新する際のベスト プラクティスに関する最新の記事も公開しています。

Windows Phone 8.1 Update には、数百か所もの Internet Explorer 11 機能強化が含まれており、モバイル Web との互換性が大幅に向上しています。

フィードバックに基づいて、IE ユーザーの Web エクスペリエンスを iOS および Android デバイスでのエクスペリエンスと一貫性を持たせることを目指してきました。これは、標準ではない Web プラットフォームの機能を追加するような場合でも同様です。Microsoft では、現在の標準化の進んでいないモバイル Web の実行については、これがより現実的なアプローチであると考えています。

500 を超える人気のあるモバイル Web サイトをテストしたところ、IE11 の更新プログラムによって、そのうちの 40% 以上でエクスペリエンスが向上することがわかりました。

たとえば、IE11 でwww.twitter.com を閲覧した場合、以前は次のように表示されていました。

Windows Phone 8.1

更新プログラムを適用した IE11、Firefox OS、iPhone で表示した場合は、次のようになります。

Windows Phone 8.1 Update Firefox OS iPhone と iOS7

同様に、IE11 と Firefox OS で www.baidu.com を閲覧した場合、以前は次のように表示されていました。

Windows Phone 8.1 Firefox OS

更新プログラムを適用した IE11 と iPhone で表示した場合は、次のようになります。

Windows Phone 8.1 Update iPhone と iOS7 人気のある Web サイトの分析

ほとんどが標準ベースの "デスクトップ" Web とは異なり、最新のモバイル Web ページの多くは、iOS と iPhone 向けにデザインおよび構築されています。この結果、通常、他のデバイスを使用する場合、エクスペリエンスの品質が低下します。

数週間前に、Web に対する Microsoft のビジョンと優先順位についてお伝えしました。Microsoft では、"Web は、ユーザー、開発者、企業のすべての人々を対象に適切に機能する必要がある" と考えています。そこで、Microsoft は、モバイル Web が Microsoft のユーザーに対して "適切に機能する" ためには何が必要であるかという調査を開始しました。

世界中で最も人気のあるモバイル Web サイトを調査した結果、問題の原因となっている共通するパターンがわかってきました。多くのサイトで、ブラウザー検出コードが適切に記述されていないため、Windows Phone ユーザーに対してデスクトップ サイトのエクスペリエンスが提供されます。デスクトップ Web サイトは規模が大きくなり、読み込みが遅くなる傾向があるため、ユーザーのデータ プランへの課金が増加します。このようなサイトでは、テキストが細かい文字で表示されるため、コンテンツを読むにはズームやパンに多くの時間を費やす必要があります。また、これらのサイトはマウスを使うことを前提としているため、メニューやフォームの操作が難しくなります。

Windows Phone 8.1 が RTM に到達したとき、デスクトップで PC バージョンの IE を駆動しているものと同じ高速で標準ベースの IE11 ブラウザー エンジンが搭載されていました。ここ数年間、Microsoft では、機能検出や適切な品質低下を使用して、すべてのブラウザーに対して同じマークアップを提供することをお伝えしてきました。この指針に従っていないために破綻しているデスクトップ サイトを今でも時折見かけることがありますが、デスクトップでは状況は改善されてきました。一方、モバイル Web では状況が大きく異なります。多くのサイトで、標準のプレフィックスを使用しないバージョンをサポートせずに、従来のベンダー固有のプレフィックスによる機能を使っている場合や、特定のデバイス用のベンダー プレフィックスのみをサポートしている場合があります。また、Safari や Chrome でのみ動作する、標準ではない独自の API を使っているサイトもあります。さらに、競合他社のブラウザー専用にデザインされているモバイル サイトで、IE のバグやサポートされていない機能が特に顕著になっていた例もありました。

Windows Phone 8.1 Update での Internet Explorer の更新

このような互換性に関するデータをすべて収集した後、IE に必要な変更の検討を開始しました。この記事の残りの部分では、最も重要ないくつかの変更点と、変更を行った理由について説明します。モバイル Web サイトに影響を及ぼす問題は、大きく 5 つのカテゴリに分類されます。

  • 誤ったブラウザー検出により、IE がモバイル ブラウザーとして認識されず、デスクトップ エクスペリエンスが提供される
  • 標準によって置き換えられた、以前の webkit プレフィックスが付いた機能を使用している
  • 標準が存在しない、独自の webkit プレフィックスが付いた機能を使用している
  • IE が適切なフォールバックによってサポートしていない機能を使用している
  • IE での相互運用性のバグや実装の相違が発生している
ユーザー エージェント文字列の変更

見つかった最も大きな問題の 1 つは、Windows Phone で実行される IE をモバイル ブラウザーとして検出しないために、デスクトップ コンテンツを提供するサイトに関連するものでした。この場合、通常、サイトが非常に小さい文字で表示され、ズームやパンなどの操作が必要になります。また、コンテンツがモバイルに最適化されていないため、電話のデータ接続経由で大量のデータが転送されることも意味します。画像のサイズは大きく、さらに多くの広告がダウンロードされ、表示されます。

サイトでモバイル エクスペリエンスを提供するかどうかを検出するには、さまざまな方法があります。ここでは、実際のサイトで使用されているこのようなチェック方法の 1 つを示します。

window.mobileCheck = function() {

var check = false;

(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);

return check;
}

最適なモバイル コンテンツを正しく提供するサイトの数を増やすために、Windows Phone 上の IE のユーザー エージェント文字列を更新しました。これによって、すべてのブラウザーで処理する必要があり、多くの開発者がぶつかってきた不幸なパターンが継続されます。たとえば、2006 年ごろから、WebKit の "Safari lies. Reports itself as Mozilla, Gecko and KHTML too. (Safari も自身を Mozilla、Gecko、KHTML と偽装する)" というバグに関する興味深い話があります。デスクトップの IE11 を出荷したときに、"like Gecko" というトークンを文字列に追加しました。これにより、デスクトップ サイトの互換性が大幅に向上するためです。ChromeOpera も、Web コンテンツとの互換性を維持するために、Gecko および Safari であると偽装しています。

IE11 と Firefox OS で www.hawaiianairlines.com を閲覧した場合、デスクトップ エクスペリエンスが表示されます。

Windows Phone 8.1 Firefox OS

更新プログラムを適用した IE11 と iPhone で表示した場合は、次のようになります。

Windows Phone 8.1 Update iPhone と iOS7

IE11 と Firefox OS で www.nytimes.com を閲覧した場合も、デスクトップ エクスペリエンスが表示されます。

Windows Phone 8.1 Firefox OS

更新プログラムを適用した IE11 と iPhone で表示した場合は、次のようになります。

Windows Phone 8.1 Update iPhone と iOS7

一般的には、さまざまなデバイスの機能に合わせることができる応答性の高いサイトを開発することをお勧めします。モバイル固有のエクスペリエンスを構築することを選択した場合は、ユーザー エージェント文字列内のサブ文字列 "mobile" を探し、どのような場合にモバイルに最適化したコンテンツを提供するかを決定することをお勧めします。

function isMobile() {
    return navigator.userAgent.toLowerCase().indexOf("mobile")>=0;
}

従来の webkit プレフィックスが付いた機能と IE の実装のマッピング

ユーザー エージェント文字列を変更し、IE で他のスマートフォンのブラウザーと同じコンテンツを受信できるようになると、モバイル エクスペリエンスの障害となっている問題を分析できるようになりました。認識された最初の重大な問題は、多くのモバイル サイトが、CSS グラデーション、flexbox、トランジション、アニメーションについて、webkit プレフィックスが付いたコンテンツのみを送信していることでした。これらは、IE11 の Web 標準ベースのエンジンでは、既にブラウザーに依存しないマークアップによってサポートしている機能です。Mozilla で発見されたように、WebKitCSSMatrix はモバイル デバイスで一般的に使用されています。IE では MSCSSMatrix をサポートしています。また、多くのサイトでは、新しい標準である screen.orientation の代わりに、window.orientation が使用されています。見つかった 2 番目の問題は、サイトのコードで使用されている構文も旧式であることが多いという点です。たとえば、標準ベースの新しいアプローチではなく、以前のグラデーションの構文が使用されているなどです。

Windows Phone 8.1 Update では、既に IE11 に含まれている標準ベースのサポートに対する、一般的な webkit プレフィックスの付いた API のマッピングを追加しました。これによって、WebKit コードのみを送信するサイトは、ページの読み込み時に標準ベースのコードに変換されます。Microsoft では、すべての webkit プレフィックスが付いた API のサポートを予定しているわけではありません。追加されたマッピングは、モバイル サイトで広く使用されているため、それがないと Web が機能しない API に対するマッピングです。

IE11 でwww.macys.com を閲覧した場合、次のように表示されます。

Windows Phone 8.1

更新プログラムを適用した IE11 や iPhone では、次のように、グラデーションが正しく描画されることがわかります。

Windows Phone 8.1 Update iPhone と iOS7

IE11 でwww.answers.com を閲覧した場合、次のように表示されます。

Windows Phone 8.1

更新プログラムを適用した IE11 や iPhone では、次のように、サイトが正しく描画されることがわかります。

Windows Phone 8.1 Update iPhone と iOS7 標準ではない独自機能のサポートの追加

少数の標準ではない機能が Apple によって広められ、iPhone で広く使用されていることもわかりました。これらの機能は現在標準には含まれていませんが、これらの機能をサポートしていないブラウザーでは、モバイル Web の人気サイトで適切なエクスペリエンスが得られません。一例として、-webkit-appearance があります。これによって、ネイティブ アプリケーションに合わせて、ページの要素のスタイルを変更できます。Mozilla が指摘しているように、"これは標準ではないというだけでなく、ブラウザーによってその動作が変化" します。残念なことですが、これらの標準ではない独自の機能が一定レベルでサポートされていないと、Web サイトを使用することが難しくなります。

IE でサポートされている新機能

デスクトップ サイトではあまり使用されないため、IE11 でサポートされていなかった一部の標準ベースの機能の中には、モバイル Web で一般的に使用されているものがあります。IE11 でモバイル コンテンツへの対応を強化するにあたって、これらの機能を追加する必要があると判断しました。たとえば、HTML5 では window.locationbar が定義されていますが、デスクトップ サイトではほとんど使用されていません。Microsoft では、いくつかの新機能を実装する優先順位を、その機能が利用されているモバイル サイトに基づいて決定しました。

モバイル サイトとの互換性に影響する、より大きな API 関連の問題の 1 つが、タッチのサポートです。IE10 では、Microsoft はポインター イベントのサポートを提供し、現在、W3C の勧告候補になっています。IE11 ではこの実装を更新し、仕様の変更を組み込みました。ポインター イベントを使用することにより、マウス、タッチ、ペン、その他のポインター入力を使用するサイトではパフォーマンスや機能の面で多くの利点があります。Microsoft では、さまざまなデバイスを利用するユーザーを対象とするサイトに最適な API として、今後もこの API を推奨していきます。

モバイル Web では、多くのサイトが旧式のタッチ イベント モデルを使用するようにコーディングされており、ユーザーはそれらのサイトが問題なく動作することを期待しています。IE11 の更新プログラムでは、これらのサイトが正しく動作するように、タッチ イベントのサポートが追加されました。Microsoft の調査では、デスクトップ Web では、マウスもサポートするデバイス (Windows タブレットや 2 in 1 デバイスなど) でタッチ イベントを有効にすることは、さらに問題の原因となることがわかりました。たとえば、タッチ イベントが有効である場合、人気サイトの約 10% でマウスやトラックパッドのサポートの問題が検出されました。多くのサイトは、タッチ イベントとマウス イベントの両方を受信することを想定しておらず、どちらか一方のみをサポートしています。Microsoft は、他のブラウザー ベンダーと共に W3C Touch Events Community Group に参加し、Web 全体でこれらの問題に取り組んでいます。ポインター イベントとタッチ イベントの詳細については、こちらの記事をご覧ください。

最も影響が大きい相互運用性の問題の解決

Internet Explorer で正しく動作しないサイトのマークアップの調査を続けるうちに、独特な相互運用性の問題に気付きました。たとえば、他のブラウザーでは <a> リンク内の <button> 要素や <label> 要素は個別にクリックできますが、この動作はどこにも明確にドキュメント化されていません。もう 1 つの例として、<meta> refresh のサポートが挙げられます。HTML5 の仕様では、別の URL にリダイレクトするには、文字列 "URL=" を要素の内容の一部にすることを想定しています。他のブラウザーではこの必要がないため、このように誤って使用されている場合、IE ではページの表示が絶えず更新されます。

最後に、Trident エンジンに、人気サイトへの影響が特に大きいバグがあることもわかりました。これらの問題に対する修正プログラムは、この更新プログラムに含まれています。たとえば、人気モバイル サイトに影響していたナビゲーションの問題 (location.hash ) や CSS レイアウトの問題が解決されています。

次の手順

私たちが行った変更の多くは、これらのサイトで公開されている従来の、またはベンダー プレフィックス付きのコンテンツを利用できるようにすることを目指していました。すべての -webkit- ベンダー プレフィックスが付いた API をサポートすることが私たちの目標ではありません。Microsoft では、これらのサイトが標準ベースのマークアップを導入できるように支援活動を続けていきますが、私たちが追加したサポートは現時点でモバイル Web が適切に機能するために必要なことです。皆さんも、標準ではないコードを使用しているサイトを見かけたら、ぜひご協力ください。Microsoft は webcompat.com で、Mozilla と協力して壊れたサイトを記録しています。これらのサイトは、Firefox や IE など、複数のブラウザーで問題となることが多く、ユーザーの皆さんが問題のあるサイトを報告することも容易です。

Web 開発者の皆さんは、http://modern.ie にあるスキャナー ツールを使用して自分のサイトを実行してみてください。このツールを使用すると、ベンダー プレフィックスの問題など、一般的なコーディングの問題を検出し、コードを修正することができます。

全体的に見ると、Windows Phone 8.1 Update の IE に対して行った変更によって、人気のあるモバイル Web サイトとの互換性が大幅に向上しています。この更新プログラムは現在、既に開発者向け Windows Phone 8.1 Preview を使用している開発者の皆さんに提供されており、今後数か月の間に、Windows Phone 8.1 が稼働しているデバイスを使用しているユーザーの皆さんにも提供される予定です。また、MSDN の IE 開発者向けガイドでは、すべての変更内容の詳細なリストを公開しています。

ご不明な点については、Twitter の @IEDevChat までお問い合わせください。次回の #AskIE ツイート チャットは本日 (7 月 31 日)、午前 10 時から正午まで (太平洋夏時間) です。ご質問には #AskIE を含めてくださいますようお願いいたします。

Internet Explorer 担当グループ プログラム マネージャー
Adrian Bateman

Internet Explorer 担当グループ プログラム マネージャー
Frank Olivier

Das mobile Web sollte für alle da sein

MSDN Blogs - 9 hours 47 min ago

Aktualisierung vom 4.8.2014 – Entwickler können sich diese Neuheiten ab sofort in der Windows Phone Developer Preview ansehen oder den Windows Phone 8.1 Update Emulator herunterladen. Ausführliche Informationen zu den in diesem Beitrag beschriebenen Plattformänderungen finden Sie im MSDN. Außerdem haben wir aktualisierte bewährte Methoden bezüglich der Aktualisierung eigener Websites zur Unterstützung von Standards veröffentlicht.

Windows Phone 8.1 Update enthält Hunderte Optimierungen an Internet Explorer 11, die die Kompatibilität im mobilen Web deutlich verbessern.

Anhand Ihres Feedbacks haben wir uns entschieden, IE-Anwendern eine Webnutzung zu ermöglichen, die der auf iOS- und Android-Geräten entspricht, auch wenn dies Funktionen erfordert, die nicht den Webstandards entsprechen. Unsere Ansicht nach handelt es sich um einen pragmatischen Ansatz hinsichtlich des mobilen Webs, in dem weniger auf Standards geachtet wird.

Wir haben über 500 der beliebtesten mobilen Websites getestet und festgestellt, dass das IE11-Update die Nutzung von 40 % dieser Websites optimiert.

Beispielsweise sah „www.twitter.com“ mit IE11 bislang so aus:

Windows Phone 8.1

Hier die Darstellung in IE11 mit dem Update, unter Firefox OS und auf einem iPhone:

Windows Phone 8.1 Update Firefox OS iPhone mit iOS 7

Entsprechend wird „www.baidu.com“ mit IE11 und unter Firefox OS folgendermaßen dargestellt:

Windows Phone 8.1 Firefox OS

Hier die Darstellung in IE11 mit dem Update und auf einem iPhone:

Windows Phone 8.1 Update iPhone mit iOS 7 Analyse der beliebtesten Websites

Im Gegensatz zu den eher standardbasierten „Desktop-Websites“ sind die meisten modernen Websites für iOS und das iPhone ausgelegt. Dies führt bei Benutzern anderer Geräte oftmals zu Einschränkungen.

Vor einigen Wochen haben wir über unsere Vorstellungen und Prioritäten für das Web berichtet. Wir sind der Meinung, das „das Web für alle da sein sollte – für Benutzer, Entwickler und Unternehmen.“ Wir haben untersucht, wie wir die Funktion mobiler Websites für unsere Benutzer verbessern können.

Bei der Untersuchung der weltweit beliebtesten mobilen Websites ergaben sich Gemeinsamkeiten bei den Problemursachen. Websites verwenden oftmals minderwertigen Code zur Browsererkennung, der dazu führt, dass Windows Phone-Benutzern die Desktop-Website angezeigt wird. Desktop-Websites sind in der Regel größer, werden langsamer geladen und verursachen daher im Rahmen von Datentarifen höhere Kosten. Bei diesen Websites wird die Schrift besonders klein dargestellt, was hohen Zeitaufwand durch Zoomen und Verschieben verursacht. Außerdem wird die Verwendung einer Maus vorausgesetzt, was den Umgang mit Menüs und Formularen erschwert.

Die RTM-Version von Windows Phone 8.1 verwendete dieselbe schnelle, standardbasierte IE11-Browserengine wie die PC-Version von IE auf dem Desktop. Seit einigen Jahren haben wir die Bereitstellung desselben Markups für alle Browser mithilfe von Funktionserkennung und angemessener Reduzierung propagiert. Obwohl noch immer nicht alle Desktop-Websites diese Idee umsetzen, hat sich hier die Lage verbessert. Im mobilen Web sieht dies jedoch völlig anders aus. Zahlreiche Websites verwenden Funktionen mit veraltetem anbieterspezifischem Präfix, unterstützen jedoch nicht die Standardversion ohne Präfix bzw. unterstützen anbieterspezifische Präfixe nur für bestimmte Geräte. Andere Websites verwenden nicht standardkonforme proprietäre APIs, die nur Safari oder Chrome unterstützen. Selbstverständlich gab es auch Bugs in IE oder es fehlten schlichtweg Funktionen, was bei mobilen Websites, die für die Browser der Konkurrenz entwickelt wurden, besonders offensichtlich war.

Aktualisierung von Internet Explorer in Windows Phone 8.1 Update

Wir haben all diese Kompatibilitätsdaten gesammelt und die erforderlichen Änderungen an IE vorbereitet. Der verbleibende Teil dieses Beitrags befasst sich mit einigen der wichtigsten Änderungen und den Ursachen, die diese Änderungen erforderlich gemacht haben. Die Probleme mit mobilen Websites lassen sich grob in fünf Kategorien unterteilen:

  • Fehlerhafte Browsererkennung, durch die IE nicht als Mobilgerätebrowser erkannt und dadurch die Desktop-Website bereitgestellt wird
  • Verwendung veralteter Funktionen mit WebKit-Präfixen, die durch Standards ersetzt wurden
  • Verwendung proprietäter Funktionen mit WebKit-Präfixen, für die keine Standards vorhanden sind
  • Verwendung von Funktionen, die IE nicht unterstützt und nicht angemessen reduzieren kann
  • Interoperabilitäts-Bugs und Implementierungsunterschiede in IE
Ändern der Zeichenfolge des Benutzer-Agenten

Einer der auffälligsten Fehler, den wir auf Websites feststellen konnten, war die Tatsache, dass IE unter Windows Phone nicht als Mobilgerätebrowser erkannt und deshalb die Desktop-Website bereitgestellt wurde. Dadurch wurden die Websites oft mit zu kleiner Schrift dargestellt, sodass beim Lesen Zoomen und Verschieben erforderlich waren. Außerdem wurden dadurch oftmals mehr Daten über die Datenverbindung des Smartphones übertragen, da es sich um nicht für Mobilgeräte optimierte Inhalte handelte. Die Bilder sind groß und außerdem werden wesentlich mehr Werbeanzeigen heruntergeladen und eingeblendet.

Es gibt verschiedene Möglichkeiten, mit denen sich ermitteln lässt, ob eine Website für Mobilgeräte bereitgestellt werden soll. Hier ist eine dieser Überprüfungsmöglichkeiten, die wir auf einer Website im Internet gefunden haben:

window.mobileCheck = function() {

var check = false;

(function(a){if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(a)||/1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(a.substr(0,4)))check = true})(navigator.userAgent||navigator.vendor||window.opera);

return check;
}

Wir haben die Zeichenfolge des Benutzer-Agenten in IE unter Windows Phone aktualisiert, um die Anzahl der Websites zu erhöhen, die für Mobilgeräte optimierte Inhalte bereitstellen. Dies setzt ein unerfreuliches Muster fort, das alle Browser betrifft und den meisten Entwicklern bekannt ist. Beispielsweise gibt es eine interessante Diskussion aus dem Jahr 2006 in einem WebKit-Bug mit dem Titel „Safari lies. Reports itself as Mozilla, Gecko and KHTML too“. Bei der Veröffentlichung von IE11 für den Desktop hatten wir den Zusatz „like Gecko“ zu der Zeichenfolge hinzugefügt, da dieser die Kompatibilität mit Desktop-Websites deutlich verbessert. Chrome und Opera geben vor, Inhalte wie Gecko und Safari zu verarbeiten, um Kompatibilität mit Webinhalten zu erzielen.

Wenn Sie „www.hawaiianairlines.com“ mit IE11 und Firefox OS aufrufen, wird die Desktop-Website angezeigt:

Windows Phone 8.1 Firefox OS

Hier die Darstellung in IE11 mit dem Update und auf einem iPhone:

Windows Phone 8.1 Update iPhone mit iOS 7

Wenn Sie „www.nytimes.com“ mit IE11 und Firefox OS aufrufen, wird ebenfalls die Desktop-Website angezeigt:

Windows Phone 8.1 Firefox OS

Hier die Darstellung in IE11 mit dem Update und auf einem iPhone:

Windows Phone 8.1 Update iPhone mit iOS 7

Im Allgemeinen raten wir zur Entwicklung flexibler Websites, die sich an die Funktionen unterschiedlicher Geräte anpassen. Wenn Sie eine Website für Mobilgeräte erstellen, empfehlen wir die Suche nach der Unterzeichenfolge „mobile“ in der Zeichenfolge des Benutzer-Agenten, um zu ermitteln, ob für Mobilgeräte optimierte Inhalte bereitgestellt werden sollen.

function isMobile() {
    return navigator.userAgent.toLowerCase().indexOf("mobile")>=0;
}

Zuordnung von veralteten Funktionen mit WebKit-Präfix zur IE-Implementierung

Im Anschluss an die Änderung der Zeichenfolge des Benutzer-Agenten, dank der IE dieselben Inhalte erhält wie andere Smartphone-Browser, können wir mit der Analyse der Probleme beginnen, die auf Websites für Mobilgeräte auftreten. Bei ersten wichtigen Problem handelt es sich darum, dass viele Websites für Mobilgeräte lediglich Inhalte mit WebKit-Präfix für CSS-Farbverläufe, -Flexbox, -Übergänge und -Animationen bereitstellen. Deise Funktion unterstützt die webstandardbasierte IE11-Engine bereits für Websites mit browserübergreifendem Markup. Laut Mozilla kommt WebKitCSSMatrix häufig auf Mobilgeräten zum Einsatz. IE unterstützt MSCSSMatrix. Des Weiteren verwenden zahlreiche Websites window.orientation anstelle des kommenden Standards screen.orientation. Das zweite Problem besteht darin, dass im Website-Code häufig veraltete Syntax zum Einsatz kommt, beispielsweise die alte Syntax für Farbverläufe anstelle des aktualisierten, standardbasierten Verfahrens.

In Windows Phone 8.1 Update haben wir die in IE11 bereits vorhandene Unterstützung standardbasierter Syntax häufig verwendeten APIs mit WebKit-Präfix zugeordnet. Dadurch werden Websites, die lediglich WebKit-Code senden während des Ladevorgangs in standardbasierten Code übersetzt. Die Unterstützung sämtlicher APIs mit WebKit-Präfix ist nicht geplant. Wir haben diejenigen zugeordnet, die für das mobile Web unverzichtbar sind.

Beispielsweise sieht „www.macys.com“ in IE11 so aus:

Windows Phone 8.1

Hier sehen Sie die korrekte Darstellung der Farbverläufe in IE11 mit Update und auf einem iPhone:

Windows Phone 8.1 Update iPhone mit iOS 7

Beispielsweise sieht „www.answers.com“ in IE11 so aus:

Windows Phone 8.1

Hier sehen Sie die korrekte Darstellung der Website in IE11 mit Update und auf einem iPhone:

Windows Phone 8.1 Update iPhone mit iOS 7 Unterstützung für nicht standardmäßige, proprietäre Funktionen

Eine geringe Anzahl nicht standardmäßiger Funktionen, die Apple auf dem iPhone eingeführt hat, erwies sich als weit verbreitet. Eine Standardisierung dieser Funktionen ist nicht geplant, jedoch sind nur Browser, die diese Funktionen unterstützen, in der Lage, wichtige mobile Websites korrekt darzustellen. Ein Beispiel ist die Funktion -webkit-appearance, mit der Websites Elemente so umgestalten können, dass diese systemeigenen Apps entsprechen. Wie Mozilla hervorhebt, ist dies „nicht standardkonform und außerdem ergibt sich mit jedem Browser ein anderes Verhalten“. Leider ist die Verwendung von Websites ohne ein gewisses Maß an Unterstützung dieser nicht standardmäßigen Funktionen eingeschränkt.

Neue, in IE unterstützte Funktionen

Es gibt einige von IE11 bislang nicht unterstützte Funktionen, die auf Desktop-Websites nur selten Verwendung finden, dafür im mobilen Web umso häufiger eingesetzt werden. Wir haben beschlossen, diese Funktionen hinzuzufügen, da IE11 immer häufiger für mobile Inhalte verwendet wird. Beispielsweise ist window.locationbar Bestandteil von HTML5, wird für Desktop-Websites jedoch kaum genutzt. Wir haben die Implementierung mehrerer neuer Funktionen aufgrund deren Bedeutung für mobile Websites bevorzugt durchgeführt.

Eines der größeren Probleme im Zusammenhang mit APIs, das die Kompatibilität mit mobilen Websites beeinträchtigt, ist die Unterstützung für Toucheingabe. In IE10 wurden erstmals Zeigerereignisse unterstützt, die jetzt vom W3C mit dem Status „Candidate Recommendation“ geführt werden. In IE11 haben wir die Implementierung aktualisiert und Änderungen an der Spezifikation übernommen. Zeigerereignisse bedeuten zahlreiche Leistungs- und Funktionsverbesserungen hinsichtlich Websites, bei denen Maus-, Touch-, Stift- oder Zeigereingaben verarbeitet werden sollen. Wir empfehlen diese Methode weiterhin als beste API für Websites, die geräteübergreifend funktionieren sollen.

Im mobilen Web verwenden die meisten Websites das ältere Touchereignis-Model. Trotzdem erwarten Benutzer, dass die Websites funktionieren. Mit dem Update von IE11 werden jetzt auch diese Touchereignisse unterstützt, damit die entsprechenden Websites richtig angezeigt werden. Untersuchungen haben ergeben, dass die Aktivierung von Touchereignissen auf Geräten, die auch eine Maus unterstützen (beispielsweise Windows-Tablets und Two-in-One-Geräte), im Desktop-Web Probleme verursacht. Beispielsweise führt die Aktivierung der Touchereignisse dazu, dass auf etwa 10 % der wichtigsten Websites die Unterstützung für Maus und Trackpad verloren geht. Bei vielen Websites wird nicht davon ausgegangen, dass sowohl Touch- als auch Mausereignisse verwendet werden können. Diese Websites bieten daher nur Unterstützung für eine Möglichkeit. Wir haben uns mit anderen Browserherstellern zur W3C Touch Events Community Group zusammengeschlossen, die an der Lösung dieser Probleme für das gesamte Web arbeitet. Weitere Informationen zu Zeiger- und Touchereignissen finden Sie in diesem Beitrag.

Beseitigung der schwerwiegendsten Probleme bei der Interoperabilität

Bei der Untersuchung des Markups von Websites, die in Internet Explorer nicht richtig angezeigt werden, haben wir einige seltsame Probleme bei der Interoperabilität entdeckt. Beispielsweise lässt sich in anderen Browsern innerhalb von <a>-Links unabhängig auf <button>- und <label>-Elemente klicken, obwohl dieses Verhalten an keiner Stelle dokumentiert ist. Ein anderes Beispiel ist die Aktualisierungsunterstützung für <meta>-Elemente. Die HTML5-Spezifikation sieht "URL=" als Teil des Inhalts eines Elements vor, damit eine Weiterleitung zu einer anderen URL erfolgen kann. In anderen Browsern ist dies nicht erforderlich, wodurch diese nicht konforme Verwendung dazu führen kann, dass Seiten in IE ständig neu geladen werden.

Letztlich haben wir noch einige Bugs in der Trident-Engine entdeckt, die die Darstellung wichtiger mobiler Websites beeinträchtigt haben. Mit dem Update werden diese Bugs behoben. Zu diesen zählten beispielsweise Navigationsprobleme mit location.hash sowie CSS-Layoutprobleme, von denen beliebte mobile Websites betroffen waren.

Was Sie beitragen können

Viele der vorgenommenen Änderungen beziehen sich auf die Verarbeitung von veralteten Websiteinhalten bzw. solchen mit anbieterspezifischem Präfix. Die Unterstützung sämtlicher APIs mit anbieterspezifischem WebKit-Präfix ist nicht das Ziel. Wir werden uns weiterhin dafür einsetzen, dass diese Websites standardbasiertes Markup übernehmen. Zugleich ist die von uns hinzugefügte Unterstützung notwendig, damit das mobile Web schon heute für alle da sein kann. Auch Sie können helfen, wenn Sie auf Websites mit nicht standardmäßigem Code stoßen: Wir arbeiten zusammen mit Mozilla unter webcompat.com an der Erfassung defekter Websites. Diese Websites verursachen oft browserübergreifend Probleme in Firefox sowie IE und sollten gemeldet werden.

Als Webentwickler sollten Sie Ihre Website mit dem Scannertool unter http://modern.ie testen. Dieses Tool erkennt häufige Probleme in der Programmierung, einschließlich Problemen, die durch anbieterspezifische Präfixe verursacht werden, und hilft bei deren Behebung.

Alles in allem verbessern die Änderungen an IE in Windows Phone 8.1 Update die Kompatibilität mit den beliebtesten mobilen Websites erheblich. Das Update steht mit der Windows Phone 8.1 Developer Preview bereits zur Verfügung. Benutzer mit Windows Phone 8.1-Geräten erhalten das Update in den kommenden Monaten. Des Weiteren haben wir auf MSDN im IE-Entwicklerhandbuch eine Liste sämtlicher Änderungen veröffentlicht.

Stellen Sie Ihre Fragen auf Twitter @IEDevChat. Der nächste #AskIETweet-Chat findet heute (31. Juli) von 18:00 bis 20:00 statt. Markieren Sie Ihre Fragen mit #AskIE.

Adrian Bateman
Program Manager, Internet Explorer

Frank Olivier
Program Manager, Internet Explorer

Stets die aktuelle Internet Explorer-Version

MSDN Blogs - 9 hours 47 min ago

Wie im Mai angekündigt, möchten wir es Benutzern einfacher machen, stets die neueste Version von Internet Explorer zu verwenden. In diesem Beitrag geht es um Ressourcen für die Migration. Außerdem erhalten Sie nützliche Informationen zur Aktualisierung sowie zu Supportzyklen, mit denen Sie das Upgrade auf die neueste Version von Internet Explorer für Ihr Betriebssystem planen können.

Microsoft bietet innovative, revolutionäre Dienste für eine Welt, in der sich alles um Mobilgeräte und die Cloud dreht, mit denen Sie mehr erreichen und erledigen können. Internet Explorer spielt in diesem Konzept eine wichtige Rolle.  In der modernen digitalen Welt nutzen Milliarden Menschen beruflich und privat Geräte mit Internetverbindung, deren Anwendungen auf Cloud-Diensten basieren.  Ein moderner Browser ist wichtiger als je zuvor. Nur so profitieren Sie jederzeit, überall und von jedem Gerät aus von schnellem und sicherem Zugriff auf die neuesten Websites und Dienste.

Vorteile für Entwickler und Benutzer

Für Entwickler ist es von Vorteil, wenn Benutzer den neuesten Webbrowser verwenden. Ältere Browser unterstützen moderne Webstandards möglicherweise nicht. Vielfalt bei den verwendeten Browsern stellt folglich ein Problem für Entwickler dar. Entwickler von Web-Apps können zudem bessere Produkte und entsprechende Roadmaps effizienter erstellen, wenn die Kunden moderne Browser verwenden. Das Entwicklerökosystem profitiert von der Aktualisierung.

Auch Benutzer profitieren von der Verwendung moderner Browser, da diese die neuesten beruflichen und privaten Anwendungen unterstützen und zugleich das Risiko bei der Internetnutzung senken. Internet Explorer 11, unser neuester moderner Browser, zeichnet sich durch zahlreiche Vorteile aus:

  • Erhöhte Sicherheit: Veraltete Browser stellen eine wesentliche Herausforderung hinsichtlich der Internetsicherheit dar. Moderne Browser bieten bessere Schutzfunktionen. Internet Explorer 11 enthält Funktionen wie den erweiterten geschützten Modus, der für die Sicherheit der Benutzer sorgt. Microsoft arbeitet proaktiv an der Schließung potenzieller Sicherheitslücken in Internet Explorer – und das mit großem Erfolg: Laut NSS Labs hat sich der Schutz vor Schadsoftware von 69 % bei Internet Explorer 8 im Jahr 2009 auf über 99 % bei Internet Explorer 11 verbessert. Dabei ist es eigentlich keine Überraschung, dass die neueste Internet Explorer-Version mit sämtlichen Patches sicherer ist als ältere.
  • Produktivität: Die neueste Version von Internet Explorer ist schneller, unterstützt mehr Webstandards und zeichnet sich durch höhere Kompatibilität mit vorhandenen Web-Apps aus. Benutzer profitieren von den neuesten Websites und Diensten wie Office 365, die neben älteren Web-Apps ausgeführt werden können.
  • Der Weg in die Zukunft: Die Aktualisierung auf die stets neueste Version von Internet Explorer kann die Migration zu Windows 8.1 Update sowie zu den neuesten Windows-Tablets und anderen Geräten vereinfachen. So profitieren Benutzer von Technologien der neuesten Generation, die höhere Produktivität versprechen.
Hinweise zur Browsermigration

Microsoft empfiehlt die Aktivierung der automatischen Updates, die sicherstellen, dass Ihr Computer stets auf dem neuesten Stand ist, einschließlich der neuesten Version von Internet Explorer. Derzeit verwenden die meisten Benutzer diese Funktion. Unternehmensanwendern wird empfohlen, Updates zeitnah zu testen und zu übernehmen, insbesondere Sicherheitsupdates. Normale Updates bieten deutliche Vorteile wie die Minimierung von Sicherheitsrisiken und höhere Zuverlässigkeit. Windows Update kann Updates für Internet Explorer und Windows automatisch installieren.

Kunden, die noch nicht den neuesten Browser für ihr Betriebssystem verwenden, sollten auf diesen umsteigen, damit sie von schnellerer Internetnutzung sowie höherer Sicherheit profitieren. Bis 12. Januar 2016 werden die folgenden Kombinationen aus Betriebssystem und Browser unterstützt:

Windows-PlattformInternet Explorer-Version Windows Vista SP2Internet Explorer 9 Windows Server 2008 SP2Internet Explorer 9 Windows 7 SP1Internet Explorer 11 Windows Server 2008 R2 SP1Internet Explorer 11 Windows 8.1Internet Explorer 11 Windows Server 2012Internet Explorer 10 Windows Server 2012 R2Internet Explorer 11

Ab dem 12. Januar 2016 erhalten nur noch die neuesten Versionen von Internet Explorer für das jeweilige unterstützte Betriebssystem technischen Support und Sicherheitsupdates. Beispielsweise sollten Benutzer, die Internet Explorer 8, Internet Explorer 9 oder Internet Explorer 10 unter Windows 7 SP1 verwenden, auf Internet Explorer 11 umsteigen, damit sie weiterhin Sicherheitsupdates und technischen Support erhalten. Weitere Informationen zu den Supportzyklen für Windows und Windows Embedded finden Sie auf der Microsoft Support Lifecycle-Website.

Da einige Unternehmenskunden standardmäßig ältere Versionen von Internet Explorer einsetzen, führt Microsoft neue Funktionen und Ressourcen ein, die Benutzern beim Upgrade auf den jeweils aktuellen Browser unterstützen. Benutzer sollten das Upgrade auf moderne Standards in Betracht ziehen, um von zusätzlicher Leistung sowie höherer Sicherheit und Produktivität moderner Web-Apps zu profitieren. In der Zwischenzeit ist Abwärtskompatibilität eine kostengünstige, wenn auch vorübergehende Lösung. Der Unternehmensmodus für Internet Explorer 11, der im April 2014 eingeführt wurde, bietet erweiterte Abwärtskompatibilität und ermöglicht die Ausführung älterer Web-Apps während der Übergangsphase zu modernen Webstandards. 

Heute können wir ankündigen, dass der Unternehmensmodus für die Dauer des Betriebssystemlebenszyklus unterstützt wird, damit Kunden Investitionen in vorhandene Web-Apps länger nutzen und zugleich die neueste Version von Internet Explorer verwenden können. Unter Windows 7 wird der Unternehmensmodus bis zum 14. Januar 2020 unterstützt. Microsoft verbessert die Abwärtskompatibilität des Unternehmensmodus fortlaufend und investiert in Tools und andere Ressourcen, die Kunden beim Upgrade auf die neueste Version von Internet Explorer unterstützen.

Ressourcen zur Browsermigration

Microsoft stellt zahlreiche Onlinesupportressourcen für Kunden und Partner bereit, die auf die neueste Version von Internet Explorer umsteigen möchten.

  1. Modern.IE: Modern.IE stellt Tools, bewährte Vorgehensweisen und Hilfeinformationen für Entwickler bereit, die Websites auf moderne Standards aktualisieren. Ein herunterladbarer Intranetscanner für die Bewertung von Web-Apps im Unternehmensnetzwerk steht ebenfalls zur Verfügung.
  2. Internet Explorer TechCenter: Die Internet Explorer TechNet-Website enthält technische Ressourcen für die Bereitstellung, die Wartung und den Support von Internet Explorer. Der Unternehmensmodus für Internet Explorer 11 wird ausführlich behandelt, damit Kunden mithilfe dieser neuen Abwärtskompatibilitätsfunktion Investitionen in vorhandene Web-Apps länger nutzen können.
  3. Internet Explorer Developer Center: Die MSDN-Entwicklerwebsite enthält Ressourcen zur Anwendungsentwicklung für Internet Explorer.
  4. Microsoft Assessment and Planning (MAP) Toolkit: Hierbei handelt es sich um ein Inventur- und Planungstool ohne Agent zur Bewertung derzeit installierter Browser.

Kunden und Partner, die direkte Hilfe benötigen, erhalten von Microsoft zahlreiche Bereitstellungs- und Kompatibilitätsdienstleistungen zur Unterstützung bei der Migration. Die Dienstleistungen im Einzelnen:

  1. Microsoft Services Support: Nutzen Sie Ihre IT-Infrastruktur optimal, indem Sie Microsoft Services Premier Support für Ihr Unternehmen in Anspruch nehmen. Unser fachkundiges Team unterstützt Sie fortlaufend und eskaliert zeitkritische Probleme umgehend. Dies sorgt für eine schnellere Problembehebung und trägt zur Verfügbarkeit unternehmenswichtiger Systeme bei.
  2. Microsoft Consulting Services: Eine schnelle und effiziente Bereitstellung von Microsoft-Technologien gewährleistet eine schnellere Amortisierung. Außerdem trägt der umfassende Einsatz dieser Technologien durch Ihre Mitarbeiter zur Erweiterung ihrer Fähigkeiten sowie zum Ausbau des Unternehmens bei. Microsoft Services-Berater leiten gemeinsam mit Ihnen die Bereitstellung und Anwendung von Microsoft-Technologien sowohl effizient als auch kostengünstig in die Wege. Außerdem können wir das Risiko komplexer Initiativen minimieren. Unsere Fachkenntnis hinsichtlich der Microsoft-Plattform und die Zusammenarbeit mit Netzwerkpartnern und technischen Communitys weltweit ermöglicht uns, Sie dabei zu unterstützen, Ihre Innovationen sowie Technologien und Lösungen von Microsoft voll auszuschöpfen.
  3. Internet Explorer Migration Workshop: Der Microsoft Services Internet Explorer Migration Workshop bringt Benutzern den Migrationsprozess auf die neueste Version von Internet Explorer näher. Der strukturierte Workshop richtet sich an IT-Experten und Entwickler. Ihre Experten lernen schnell, Kompatibilitätsprobleme und entsprechende Lösungen einzuschätzen. Weitere Informationen erhalten Sie von Ihrem Microsoft Services-Ansprechpartner sowie unter www.microsoft.com/services.
  4. Suche nach einem Microsoft-Partner auf Pinpoint: Wenden Sie sich an einen zertifizierten IT-Experten in Ihrer Nähe, der Sie beim Upgrade auf die aktuelle Version von Internet Explorer [sowie von .NET Framework] bei minimaler Beeinträchtigung Ihres Unternehmens und Ihrer Anwendungen unterstützt.

Durch die verbesserte Abwärtskompatibilität und Ressourcen zum Upgrade macht es Microsoft Unternehmensanwendern so einfach wie nie zuvor, stets die neueste Version von Internet Explorer zu verwenden. Zusätzlich zu modernen Webstandards, zu höherer Leistung, verbesserter Sicherheit und größerer Zuverlässigkeit hilft der Umstieg auf Internet Explorer 11 auch beim Upgrade auf Windows 8.1 Update und Dienste wie Office 365 sowie bei der Nutzung der neuesten Windows-Geräte.

– Roger Capriotti, Director, Internet Explorer

Problemloser Zugriff auf das Internet über sämtliche Eingabearten: Maus-, Touch- und Zeigerereignisse

MSDN Blogs - 9 hours 47 min ago

Vor Kurzem haben wir die Unterstützung der Touchereignis-API in Internet Explorer für Windows Phone 8.1 Update angekündigt. Dies ist Teil unseres Engagements für einen enfacheren Internetzugriff. IE unterstützt nun also die drei wichtigsten Zeigereingabe-APIs: Maus-, Touch- und Zeigerereignisse. Je besser mobile Browser werden, desto drängender stellt sich Entwicklern die Frage, welche API verwendet werden soll.

Um Entwicklern bei der Entscheidung zu helfen, welche API wann zum Einsatz kommen soll, möchten wir unsere aktuelle Richtlinie sowie unsere Konzepte für die Webplattform der Zukunft erläutern, auch in Hinsicht darauf, dass Zeigerereignisse in Kürze von Firefox unterstützt werden, während Google neulich beschlossen hat, die Spezifikation nicht zu implementieren.

Vergleich der Vor- und Nachteile jedes Modells

Wir möchten, dass Entwickler die Eingabetechnologie nutzen können, die am Besten für ihre Zwecke geeignet ist. Wir stellen Touchereignisse bereit, die mit den meisten modernen Browsern kompatibel sind, sowie aktuelle Zeigerereignisse, die einfacheren Code, zusätzliche Funktionen, erweiterten Gerätesupport, verbesserte Reaktionsfähigkeit und optimale Hardwarebeschleunigung ermöglichen. Dies ist eine Übersicht der Eigenschaften und Funktionen jedes Modells.

 MausereignisseTouchereignisseZeigerereignisse Unterstützt Maus 1  Unterstützt Einzeltouch2   Unterstützt Multitouch    Unterstützt Stift, Kinect und andere Geräte2   Umfasst die Ereignisse „Über“, „Außerhalb“, „Eingabe“, „Verlassen“ und „Darauf zeigen“    Asynchrones Initiieren von Verschieben/Zoomen zur Hardwarebeschleunigung    W3C-Spezifikation 33 Browserübergreifend verwendbar auf Mobilgeräten  4 Browserübergreifend verwendbar auf Desktopgeräten  4

1 Zumindest in einigen Android-Browsern werden bei Mauseingaben möglicherweise Touchereignisse ausgelöst werden. Diese Mauseingaben lassen sich, wenn Touchereignissen verwendet werden, jedoch nicht von tatsächlichen Toucheingaben unterschieden.

2 Alle Browser lösen bei Einzeltoucheingaben einige Mausereignisse aus, um die Kompatibilität mit Webseiten zu gewährleisten, die für Mauseingaben entwickelt wurden. Momentan ist es jedoch bei der Verwendung von Touchereignissen nicht möglich, tatsächliche Mauseingaben von Toucheingaben zu unterscheiden. In ähnlicher Weise lösen Kinect-Gesteneingaben in IE für Xbox zwecks grundlegender Kompatibilität einige Mausereignisse aus.

3 Zeigerereignisse sind derzeit eine Candidate Recommendation und sollen demnächst den Status „Recommendation“ erhalten. Touchereignisse verfügen bereits über diesen Status. Im Jahr 2012 hat die Arbeitsgruppe für Webereignisse die Weiterentwicklung von Version 2 der Touchereignisse eingestellt, um sich stattdessen der Standardisierung von Zeigerereignissen zu widmen.

4 Zeigerereignisse werden von IE und bald auch von Firefox vollständig unterstützt. Teilweise unterstützt (touch-action-API) werden diese derzeit in Chrome, Firefox und Opera. Für Safari WebKit ist eine teilweise Unterstützung geplant. Über Polyfills wie Google Polymer Pointer Events und Hand.JS kann das Zeigerereignismodell browserübergreifend verwendet werden.

Einige Unterschiede und Probleme werden in diesem HTML5 Rocks-Artikel ausführlich erläutert.

Performance

Die Performance ist bei der Eingabe von entscheidender Bedeutung, insbesondere für die Toucheingabe. Benutzer sollen den Eindruck gewinnen, Websites tatsächlich zu bewegen – auch wenn Sie in Wirklichkeit nur mit dem Finger über den Bildschirm wischen. Aus diesem Grund hat unser Entwicklungsteam drei Jahre lang an der neuen GPU-beschleunigten Quad-Thread-Architektur der Touchpipeline von IE gearbeitet, die in IE10 eingeführt und für IE11 verbessert wurde. Außerdem wurden Zeigerereignisse entwickelt, die diese Architektur nutzen und seither auch in anderen modernen Browsern verwendet werden.

Die wichtigsten Touchaktionen sind normalerweise Zoomen und Verschieben, diese machen 60 % aller Touchgesten in IE und Chrome für Windows aus. Fast jede systemeigene App, Web-App oder Website verwendet Verschieben und/oder Zoomen. Die Eingabe-Performance lässt sich bei dieser Geste besonders gut untersuchen. Wenn das Verschieben am Anfang zu langsam (das Objekt „springt“ nach einer Verzögerung zum Finger) oder abgehackt (Frames werden übersprungen) erfolgt, fällt dies schnell negativ auf.

Für Touchereignisse muss vor dem Verschieben oder Zoomen JavaScript synchron ausgeführt werden. Dies kann zu signifikanten Performanceproblemen im Bereich von einigen Hundert Millisekunden oder mehr führen. Der Wechsel zu Zeigerereignissen kann die Benutzerfreundlichkeit der Toucheingabe daher entscheidend verbessern:

Demo möglicher Auswirkungen von Touchereignissen auf die Performance von Verschieben und Zoomen (sowohl auf Android LG Nexus 5 als auch Windows Phone HTC 8x).
Zeigerereignisse ermöglichen hardwarebeschleunigte, asynchrone Touchaktionen und können so in vielen Fällen die Performance verbessern.

Auf dieser Testseite (konfiguriert mit 1000 ms Verzögerung) finden Sie ein von Rick Byers, einem Mitglied des Chrome-Teams, entwickeltes einfaches Beispiel. Es ist deutlich erkennbar, dass beim Verschieben mit Touchereignissen in IE der erste Frame erst nach 1020 ms dargestellt wird, nachdem der Touchkontakt bereits 4,8 cm entfernt ist. Indem die Touchereignishandler durch Zeigerereignishandler ersetzt werden, lässt sich diese Latenz auf nur 31 ms und 0,3 cm verringern – eine mehr als 32-fache Verbesserung.

Die Verzögerung auf dieser Testseite wurde künstlich verursacht, demonstriert aber ein grundlegendes Performanceproblem, das im Web häufig anzutreffen ist. In der Praxis gibt es sogar Seiten mit größerer Verzögerung als den 1000 ms im Beispiel. Diese veränderliche und unbegrenzte Abhängigkeit vom Primärthread des Browsers führt zu einem unvorhersagbaren Verhalten und verhindert die optimale Reaktionszeit von 1 ms. Die Mitarbeiter von Microsoft Research konnten die signifikanten Auswirkungen einer derartigen Latenzreduzierung auf die Benutzerfreundlichkeit demonstrieren. Reaktionszeiten von 1 ms beim Verschieben/Zoomen werden immer noch nicht ganz erreicht, aber die Einführung von Zeigerereignissen sind ein wichtiger Schritt in die richtige Richtung.

Zeigerereignisse bieten außerdem zusätzliche Funktionen, die von Entwicklern gewünscht wurden und bei Touchereignissen nicht bereitgestellt werden können. Dies sind beispielsweise die Übergangsereignisse „Über“, „Außerhalb“, „Eingabe“ und „Verlassen“. Zusätzliche Funktionen bedeuten jedoch immer auch zusätzliche Nachteile. Wir haben daher daran gearbeitet, diese Nachteile so gering wie möglich zu halten. Die für diese Funktionen erforderlichen zusätzlichen Treffertests erfordern in der Regel 0,15 ms. Wir haben verschiedene Vorschläge zur Verbesserung, falls sich tatsächlich herausstellen sollte, dass dies das Erreichen einer Performance von 60 FPS für Entwickler unmöglich macht.

Kompatibilität

In unserer Ankündigung der Unterstützung von Touchereignissen haben wir bereits Probleme mit dem Web auf Desktop-PCs erwähnt, die eine Kompatibilität dieser API mit diesen Geräten verhindern. Wenn z. B. Touchereignisse auf einem Desktop aktiviert sind, verhindert folgende übliche Art der Programmierung die Mausunterstützung:

Durch diesen Code können in einem Browser, der Touchereignisse unterstützt, keine Mausereignisse verarbeitet werden (unabhängig davon, ob das Gerät tatsächlich über einen Touchscreen verfügt). Dies verursacht schwerwiegende Probleme. Beispielsweise lassen sich Menüs, Dropdownlisten oder gemeinsame Symbole auf Websites wie Web MD, Macys, Onet, Pages Juanes, Globo, Samsung, Taobao oder Huffington Post mit der Maus nicht mehr bedienen.

Folgende Maßnahmen sollen die Benutzerfreundlichkeit verbessern und Entwicklern die Arbeit erleichtern:

  • Unterstützung von Touchereignissen in IE unter Windows Phone (bereits implementiert)
  • Zusammenarbeit mit Websiteentwicklern, um die oben beschriebenen Probleme zu lösen und APIs sinnvoll zu nutzen (in Arbeit, weitere Informationen in E-Mails oder Tweets von unserem Outreach-Team und unter webcompat.com)
  • Einführung von Touchereignissen auf allen unserer Plattformen, um die Unterstützungsmatrix für Entwickler zu vereinfachen (in Arbeit)
  • Mitarbeit bei der Implementierung von Zeigerereignissen auf anderen Plattformen (in Arbeit für Firefox und Chrome)
  • Aktive Zusammenarbeit mit Website- und Framework-Entwicklern, um von diesen Feedback über die gewünschte Ausrichtung der Webplattform zu erhalten
  • Freigabe unserer internen Entwicklungsdokumente, Architekturdiagramme und Testmethoden sowie unseres Codes für andere Browser (in Arbeit)

Für viele Entwickler ist es am einfachsten, Zeigerereignisse mit einem Polyfill für andere Browser zu verwenden, wie z. B. Google Polymer Pointer Events oder Hand.JS. Wenn Sie Touchereignisse verwenden möchten, stellen Sie jedoch sicher, dass auch Mauseingaben unterstützt werden. Gehen Sie nie davon aus, dass wenn Touchereignis-APIs vorhanden sind, das Gerät auch über einen Touchscreen verfügt.

Fazit

Eingabeereignisse bleiben eine der größten Herausforderungen für die Interoperabilität zwischen Browsern und Geräten. Wie bei den meisten Problemen dieser Art sind die Folgen unnötig komplexer Code und Kompatibilitätsprobleme für Entwickler und Benutzer. Wir gehen diese Probleme durch die Arbeit an der Interoperabilität unseres Browsers sowie unserer Beteiligung an der W3C-Standardisierung an.

Wir möchten eine Plattform entwickeln, mit der sowohl Webentwickler als auch Benutzer zufrieden sind. Wir sind gespannt auf Ihr Feedback. Welche Vorschläge haben Sie? Was funktioniert nicht? Welche Funktionen erwarten Sie in Zukunft? Schreiben Sie uns unter @iedevchat oder auf den Problembehebungsblogs von Chrome und Firefox.

Jacob Rossi
Program Manager

Pages

Subscribe to Randy Riness @ SPSCC aggregator
Drupal 7 Appliance - Powered by TurnKey Linux