2010-12-22 28 views
5

¿Cuál es la diferencia en Silverlight 4 entre llamar a System.Windows.Browser.HtmlPage.Window.Invoke ("openWindow") donde "abrirWindow" es una función js que llama a window.open y llamar al sistema .Windows.Browser.HtmlPage.PopupWindow (someUri, "_blank", null)?Abrir una nueva ventana en silverlight

Respuesta

3

La diferencia es que llamar al window.open no es un estándar ratificado. El propósito del método PopupWindow en la API de Silverlight es abstraer las variaciones de la implementación de open entre los navegadores.

Por ejemplo, los nombres de propiedad utilizados para las opciones abiertas pueden variar de un navegador a otro. Usando PopupWindow su código puede usar la clase fuertemente tipada HtmlPopupWindowOptions para definir estas opciones de manera consistente. El tiempo de ejecución de Silverlight maneja la realización de la solicitud al navegador para realizar la acción deseada de una manera apropiada para el navegador de host.

+0

¡Gran respuesta, gracias! – PhilBrown

0

Además, PopupWindow funcionará con el bloqueador de ventanas emergentes si abre ventana emergente en respuesta a la acción del usuario.

Cuestiones relacionadas