2009-04-06 11 views
6

Ho il seguente codice JavaScript come una stringa letterale:codice Parse JavaScript in C#

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

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

C'è un modo ho potuto ottenere il valore della variabile _url dal mio codice C#? Forse una libreria open source? L'ho fatto usando un'espressione regolare, ma speravo in un modo più elegante.

risposta

2

È possibile utilizzare un parser javascript, ma l'analisi di javascript solo per quell'unico valore è probabilmente eccessivo.

2

C'è un interprete JavaScript open source in C# a http://jint.codeplex.com, se hai bisogno di qualcosa di più del solo valore.

+0

L'ultimo collegamento è: https://github.com/sebastienros/jint – raider33

+0

+1 per una soluzione portatile su qualsiasi piattaforma .NET (sto utilizzando Mono) e non richiede un file eseguibile esterno. – raider33

5

Si dovrebbe dare un'occhiata al Javascript .NET open-source (http://javascriptdotnet.codeplex.com/) su Codeplex.

Questo esempio di codice dovrebbe aiutare:

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 

Questo è tutto.