我可以直接在WPF中调用javascript而无需使用浏览器对象

时间:2010-08-13 02:00:19

标签: c# javascript wpf

我希望能够在我的WPF应用程序上创建一个直接使用开放层的应用程序。我发现我可以创建一个浏览器对象并调用JavaScript,但我不需要一个完整的浏览器。是否有一些我可以使用的脚本对象并一起绕过浏览器对象?

2 个答案:

答案 0 :(得分:8)

您不需要Web浏览器或WebBrowser控件来在.NET Framework中使用JavaScript。 .NET Framework有一个内置的JavaScript实现,它实现了JavaScript / ECMAScript的超集,如herehere所述。

使用.NET Framework的内置JavaScript实现:

  1. 添加对Microsoft.JScript程序集
  2. 的引用
  3. 使用new JScriptCodeProvider().CreateCompiler().CompileAssemblyFromSource(...).CompiledAssembly将JavaScript编译为程序集
  4. 像往常一样调用已编译程序集中的代码(GetType / GetMethod / Invoke)
  5. 请注意,如果您的JavaScript代码旨在操纵DOM或使用Web浏览器的其他功能,您仍然可以使用.NET Framework的JavaScript版本,但您必须自己提供预期的对象。

答案 1 :(得分:0)

只有WPF中的WebBrowser可以运行javascript

 myWebBrowser.ObjectForScripting =  new HtmlBridge();