Foros del Web » Programación para mayores de 30 ;) » .NET »

Ejecutar Javascript en WinForms sin usar el control WebBrowser...

Estas en el tema de Ejecutar Javascript en WinForms sin usar el control WebBrowser... en el foro de .NET en Foros del Web. Buenas tardes foreros... Bueno, pues eso. Mi intención es crear una librería de "traducción" que use la api que tiene Google . El código javascript ...
  #1 (permalink)  
Antiguo 30/01/2010, 13:34
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 9 meses
Puntos: 7
Ejecutar Javascript en WinForms sin usar el control WebBrowser...

Buenas tardes foreros...

Bueno, pues eso. Mi intención es crear una librería de "traducción" que use la api que tiene Google.

El código javascript que se utiliza para la traucción es así:
Código:
<script type="text/javascript" src="http://www.google.com/jsapi"></script> 
<script type="text/javascript"> 
          google.load("language", "1"); 

         google.language.translate(text, result.language, "en", 
                                    function(result) { 
            var translated = document.getElementById("translation"); 
         }); 
</script>
Entonces... querría saber si es posible llamar a una función javascript y pasar el valor de esa variable javascript a una variable de C#...

Saludos.
__________________
Charlie.
  #2 (permalink)  
Antiguo 30/01/2010, 18:41
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ejecutar Javascript en WinForms sin usar el control WebBrowser...

Si te fijas en esta parte de tu propio link: Entornos Flash y otros entornos que no utilizan JavaScript, existen llamadas directas a los recursos de traducción de Google que devuelven las consultas.
Esto me lleva a suponer que se puede resolver usando un objeto HttpRequest, de la misma forma que se usa en consultas directas a Google Maps. En este caso lo que devuelve en un documento JSON. Este se puede resolver en vb.net, según lo que se sabe se puede manejar como dice este link que encontré en Google
Deberías probarlo.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 30/01/2010 a las 18:46
  #3 (permalink)  
Antiguo 31/01/2010, 07:47
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 9 meses
Puntos: 7
Respuesta: Ejecutar Javascript en WinForms sin usar el control WebBrowser...

Muchas gracias Gnzsoloyo
__________________
Charlie.
  #4 (permalink)  
Antiguo 01/02/2010, 05:01
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 9 meses
Puntos: 7
Respuesta: Ejecutar Javascript en WinForms sin usar el control WebBrowser...

A quien le pueda interesar. Muestro como llamar desde WindowsForms, a un "servicio" de google que devuelve el resultado en JSON y como podemos trabajar con él.

Código:
        protected override void OnLoad(EventArgs e)
        {
            base.OnLoad(e);

            WebRequest objRequest = WebRequest.Create("http://ajax.googleapis.com/ajax/services/language/translate?v=1.0&q=hello%20world&langpair=en%7Ces");            

            WebResponse objRespuesta = objRequest.GetResponse();

            Stream objStreamRespuesta = objRespuesta.GetResponseStream();

            StreamReader objReader = new StreamReader(objStreamRespuesta);

            string contenidoJson = objReader.ReadToEnd();
            
            XmlDocument objDocumentoXml = (XmlDocument)JsonConvert.DeserializeXmlNode(contenidoJson, "resultadoTraduccion");
        }
NOTA: La clase JsonConvert se ha sacado de una librería JSON de codeplex para .NET: http://www.codeplex.com/Json

Saludos.
__________________
Charlie.
  #5 (permalink)  
Antiguo 02/02/2010, 06:29
 
Fecha de Ingreso: enero-2010
Ubicación: Sevilla
Mensajes: 202
Antigüedad: 14 años, 2 meses
Puntos: 5
Respuesta: Ejecutar Javascript en WinForms sin usar el control WebBrowser...

En Windows Forms no es necesario usar javascript, ya que para cualquier cosa que pretendas hacer puedes usar VB o C# o el lenguaje que quieras.

Saludos
  #6 (permalink)  
Antiguo 02/02/2010, 07:01
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 16 años, 4 meses
Puntos: 2658
Respuesta: Ejecutar Javascript en WinForms sin usar el control WebBrowser...

Creo que no estabas entendiendo el problema, Teosanchez: Lo que él quería era comunicarse con Google via web para obtener el resultado de una petición a los servicios que Google provee.
No quería programar en JavaScrpt dentro de un WinForm, sino que no sabía cómo hacer algo que habitualmente se ve en las páginas web, y que en ellas se obtiene usando JS.
Esto finalmente lo solucionó usando HttpRequest, lo que se menciona en los posts finales.

Por otro lado te comento que si, se puede usar el JS desde el lado del WinForm contra un archivo html cargado en un control WebBrowser... La pregunta es para qué y en qué casos lo necesitas. Yo tuve que hacerlo en una aplicación de escritorio.
El único problema es que no está muy documentado.
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)
  #7 (permalink)  
Antiguo 02/02/2010, 15:52
 
Fecha de Ingreso: junio-2003
Ubicación: Asturias
Mensajes: 2.429
Antigüedad: 20 años, 9 meses
Puntos: 7
Respuesta: Ejecutar Javascript en WinForms sin usar el control WebBrowser...

Exacto. Ahi tienen el código de lo que quería hacer... Saludos.
__________________
Charlie.

Etiquetas: control, ejecutar, javascript, webbrowser
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:45.