2009-03-31 15 views
7

Necesito JavaScript trabajando casi perfectamente en mi aplicación que debería poder acceder al contenido web y dejar que el usuario tome el control de él. Sin embargo, el componente webbrowser muestra ventanas nuevas en una instancia/aplicación separada de Internet Explorer y dotBrowser no funciona correctamente con JavaScript.¿Hay algún control de navegador web mejor en C# (.NET)?

Por favor, dame algunos consejos: incluso tomaré un ejemplo de trabajo y lo mejoraré con la función que lo necesito.

Respuesta

11

Eche un vistazo a GeckoFX, está en el componente de código abierto para incrustar Mozilla Gecko (Firefox) en aplicaciones .NET.

+0

Muy bien, no había visto eso antes. –

+0

+1 para Gecko, estoy programando una aplicación en C# y pude ponerla en funcionamiento en 5 minutos. Solo sigue las instrucciones en el blog. –

1

Podría estar equivocado, pero creo que las nuevas ventanas se pueden controlar (o al menos suprimir) utilizando el control del navegador web en .NET. Eche un vistazo al evento NewWindow.

He tenido experiencia en la incorporación de núcleos WebKit (Apple Core, usado en Chrome) y XULRunner (Gecko) en aplicaciones .NET winforms. Déjame darte algunos consejos:

GeckoFX es tu mejor opción. Está licenciado bajo MPL y funciona prácticamente de manera inmediata. Siga las instrucciones cuidadosamente y extraiga la versión XUL exacta que se indica. Diría que funciona mejor que el control WebBrowser. Se habla de un retraso significativo al cargar XUL por primera vez, pero me parece insignificante. La marca y similares son completamente personalizables a través de archivos externos.

WebKit se puede integrar con SwiftDotNet. Si todo lo que necesita es un sólido rendimiento de JavaScript, esta puede ser una opción. Si necesita poder descargar archivos, entonces tiene algo de trabajo recortado para usted.

Su inconveniente con ambas rutas es una desagradable ~ 7-8mb sobrecarga, incluso con compresión (aunque pude obtener 6.5mb con compresión lz en NSIS). Si no está creando un software distribuible orientado al consumidor, puede que esto no sea un problema para usted.

Cuestiones relacionadas