在C#中解析JavaScript代码

我有以下JavaScript代码作为字符串文字:

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

有没有办法从C#代码中获取_url变量的值? 也许是一个开源库? 我使用正则表达式做了这个,但我希望有一个更优雅的方式。

您应该查看Codeplex上的开源Javascript .NET( http://javascriptdotnet.codeplex.com/ )。

这段代码应该可以帮助您:

 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 

而已。

你可以使用一个javascript解析器,但只解析那个值的javascript可能有点过分。

如果您需要的不仅仅是获取值,还可以在http://jint.codeplex.com上的C#中使用开源JavaScript解释器。

您可以使用DLR和/或MyJScript执行javascript函数。