5

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 together?

2 Answers 2

8

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:

  1. Add a reference to the Microsoft.JScript assembly
  2. Use new JScriptCodeProvider().CreateCompiler().CompileAssemblyFromSource(...).CompiledAssembly to compile your JavaScript to an assembly
  3. 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.

Sign up to request clarification or add additional context in comments.

Comments

0

Only the WebBrowser in WPF can run javascript

 myWebBrowser.ObjectForScripting =  new HtmlBridge();

1 Comment

See Ray Burns answer

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.