小编Jua*_*ega的帖子

在 webview 上从 javascript 调用 Objective-c 函数

最近我完成了这个互动,当我在寻找信息时,我看到网上没有那么多,所以,现在我已经解决了,我想分享

首先在您的应用程序中

在.h

进口

#import <JavaScriptCore/JavaScriptCore.h>
Run Code Online (Sandbox Code Playgroud)

宣布

@property (nonatomic, readwrite, strong) JSContext *js;
Run Code Online (Sandbox Code Playgroud)

在.m

- (void)viewDidLoad{

     NSString *address = @"http://yourpage.com";

     // Build the url and loadRequest
     NSString *urlString = [NSString stringWithFormat:@"%@",address];
     [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];

     //Get JSContext from webview
     self.js = [self.webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];

     //Set Delegate to JS object
     self.js[@"Delegate"] = self;

     //Set Handlers to events on JS
     self.js[@"Delegate"][@"FuncWithParams"] = ^(NSString *param1) {
         [self FuncWithParams:param1];
     };

     self.js[@"Delegate"][@"FuncWithoutParams"] = ^{
         [self FuncWithoutParams];
     };

}

//Handlers
- (void)FuncWithParams:(NSString *)param1 {
     NSLog(@"Param =%@", param1); …
Run Code Online (Sandbox Code Playgroud)

javascript objective-c uiwebview ios

5
推荐指数
0
解决办法
836
查看次数

标签 统计

ios ×1

javascript ×1

objective-c ×1

uiwebview ×1