Разобрать код JavaScript в C # - PullRequest
6 голосов
/ 06 апреля 2009

У меня есть следующий код JavaScript в виде строкового литерала:

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

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

Есть ли способ получить значение переменной _url из моего кода C #? Библиотека с открытым исходным кодом, возможно? Я сделал это с помощью регулярного выражения, но я надеялся на более элегантный способ.

Ответы [ 4 ]

5 голосов
/ 25 августа 2010

Вам следует взглянуть на Javascript .NET с открытым исходным кодом (http://javascriptdotnet.codeplex.com/) в Codeplex.

Этот пример кода должен помочь вам:

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

Вот и все.

2 голосов
/ 06 апреля 2009

Вы можете использовать синтаксический анализатор javascript, но синтаксический анализ javascript только для одного этого значения, вероятно, является излишним.

2 голосов
/ 23 сентября 2009

Существует интерпретатор JavaScript с открытым исходным кодом в C # на http://jint.codeplex.com,, если вам нужно больше, чем просто получить значение.

1 голос
/ 06 апреля 2009

Вы можете выполнить функцию javascript, используя DLR и / или MyJScript .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...