I've found Monobjc.WebKit.IWebScripting, a sub-class of IManagedWrapper.   It's 
marked as [ObjectiveCProtocol("WebScripting")].  I'm now looking for clues on 
how to use this class (or should I call it an 'interface'?)

On May 24, 2010, at 2:43 PM, Eric Slosser wrote:

> I'm porting a .NET app that uses the WebBrowser control, and has Javascript 
> that calls back into the C#.
> It does this by stating "[ComVisible(true)]  public class Foo { }", by having 
> an member variable 'browser' of type System.Windows.Forms.WebBrowser" in Foo, 
> and by calling "browser.ObjectForScripting = this" in Foo's constructor.  
> After those steps, the JavaScript can call back into Foo.Callback by calling 
> "window.external.Callback()".
> On Cocoa/WebKit, that would be done by implementing the WebScripting protocol 
> in an object (the 4 methods that define how the selectors in Foo are exposed 
> to JavaScript) , then calling [someWebScriptObject setValue:someFoo 
> forKey:@"external"], then the JavaScript would be able to call 
> window.external.Callback_().
> I'm trying (and failing) to figure out how to implement the 4 methods of the 
> WebScripting protocol so that they'll get called by Webkit.  Two of them 
> return NSString*, and the "no op" case of returning nil is allowed.
> Will I be able to define these 4 in C#, or will I need to create a pure 
> ObjectiveC object for this?
> Thanks in advance.

Reply via email to