4

CsQueryを使用してDOMからjavascript変数値を取得するには?

<script type="text/javascript">
    dealerdata = "HelloWorld"
</script>
4

1 に答える 1

2

CsQuery は HTML のみを解析し、javascript は解析しません。scriptしたがって、次のようにブロックの内容を簡単に把握できます。

CQ dom = @"<script type='text/javascript'>
               dealerdata = 'HelloWorld'
           </script>";

var script = dom["script"].Text();
// script == "dealerdata = 'HelloWorld'

...しかし、あなたは独力で、それはJavaScriptです。あなたの例では、それは簡単です:

string[] parts = script.Split('=');
string value = parts[1].Trim();

..しかし、これは、入力がどのように見えるかを正確に知っているからです。ターゲットがどのようなコンテキストにあるのか正確にわからない典型的なユースケースでは、それはあまり役に立ちません。

.NET で Javascript を解析する必要がある場合は、素晴らしい JavaScript コンパイラであるJurassicプロジェクトをお勧めします。速度が最も重要な場合は、javascript.netを参照してください。これは Google の V8 エンジンをラップし、ジュラシックよりもはるかに高速になりますが、.NET 以外の依存関係があります。

于 2013-06-06T12:47:19.993 に答える