2009-04-06 14 views
6

Tengo el siguiente código JavaScript como una cadena literal:código JavaScript Analizar en C#

var $Page = new function() 
{ 
    var _url= 'http://www.some.url.com'; 

    this.Download = function() 
    { 
     window.location = _url; 
    } 
} 

¿Hay una manera que podría conseguir el valor de la variable _url de mi código C#? ¿Una biblioteca de código abierto tal vez? Hice esto con una expresión regular, pero esperaba una forma más elegante.

Respuesta

2

Puede utilizar un analizador de JavaScript, pero el análisis de javascript para ese único valor probablemente sea excesivo.

2

Hay un intérprete de código abierto de JavaScript en C# en http://jint.codeplex.com, si necesita algo más que obtener el valor.

+0

El último enlace es: https://github.com/sebastienros/jint – raider33

+0

+1 para una solución que es portátil en cualquier plataforma .NET (estoy usando Mono) y no requiere un ejecutable externo. – raider33

5

Debería echar un vistazo al código abierto Javascript .NET (http://javascriptdotnet.codeplex.com/) en Codeplex.

Esta muestra de código debe ayudarle a:

Javascript context = new JavascriptContext(); 
context.Run("var _url= 'http://www.some.url.com';") // You put your javascript in the function run 
String url = (String)context.GetParameter("_url"); // You get your url from javascript 

Eso es todo.

Cuestiones relacionadas