I am not entirely sure whether this is as clean as it can be, but this is
working for me. Might be a starting point, please give me feedback if this can
be improved..
In your Objective-C class, put in appropriate method:
NSString *path = [[NSBundle mainBundle]
pathForResource:@"javascriptFileName" ofType:@"js"];
NSString *jsCode = [NSString stringWithContentsOfFile:path
encoding:NSUTF8StringEncoding error:nil];
[self.myWebView stringByEvaluatingJavaScriptFromString:jsCode];
[self.myWebView
stringByEvaluatingJavaScriptFromString:@"javascriptFunction()"];
NSString *someString = [self.myWebView
stringByEvaluatingJavaScriptFromString:@"javascriptFunction()"];
In javascriptFileName.js file that has been added to the NSBundle:
function javascriptFunction() {
// javascript logic here
return someReturnValue;
}
By the way, if you want to catch javascript click events, then I think you'd
need to have that event trigger a return value. That way, your Objective-C
class can interpret the javascript and act accordingly…
Op Jul 4, 2013, om 3:20 PM heeft Tibira Botto het
volgende geschreven:
> it is possible to access a javascript function in Objective-C?
>
> didactic example:
>
> - (NSString *) getName
> {
> return @ "Test"
> }
>
> in javascript
> function writeReturn(text)
> {
> document.write (text)
> }
>
> onclick = writeReturn (getName () function that in Objective-C).
>
> I'm using Webview and development for OSX.
>
> thank you
> ___
>
> Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
>
> Please do not post admin requests or moderator comments to the list.
> Contact the moderators at cocoa-dev-admins(at)lists.apple.com
>
> Help/Unsubscribe/Update your Subscription:
> https://lists.apple.com/mailman/options/cocoa-dev/diederik%40tenhorses.com
>
> This email sent to diede...@tenhorses.com
___
Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
https://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com
This email sent to arch...@mail-archive.com