Can I invoke javascript directly in WPF without using the browser object
I would like to be able to make an application that uses open layers directly on my WPF application. I found that I can create a browser object and have that invoke JavaScript, but I don't need a full browser. Is there some scripting object that I can use and bypass the browser object all tog开发者_JAVA百科ether?
You don't need a web browser or the WebBrowser control to use JavaScript within NET Framework. NET Framework has a built-in JavaScript implementation that implements a superset of JavaScript / ECMAScript, as described here and here.
To use NET Framework's built in JavaScript implementation:
- Add a reference to the
Microsoft.JScript
assembly - Use
new JScriptCodeProvider().CreateCompiler().CompileAssemblyFromSource(...).CompiledAssembly
to compile your JavaScript to an assembly - Invoke code in the compiled assembly as usual (GetType/GetMethod/Invoke)
Note that if your JavaScript code is designed to manipulate a DOM or use other features of a web browser, you can still use the NET Framework's version of JavaScript but you will have to provide the expected objects yourself.
Only the WebBrowser in WPF can run javascript
myWebBrowser.ObjectForScripting = new HtmlBridge();
精彩评论