- 首先需求是可以给getinit函数的net参数赋值
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
</head>
<body>
<h2>JavaScript And Objective-C</h2>
<script>
var init = function()
{
<!-- var net = '你好,这里是初始化的init';-->
<!-- 如何往net赋值?? -->
getinit(net);
};
var getinit = function(net)
{
alert(net);
}
init();
</script>
</body>
</html>
- 在Objective-C这边,无需多言,直接上代码
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
}
-(void)viewDidAppear:(BOOL)animated{
self.webView = [[UIWebView alloc]initWithFrame:CGRectMake(0, 20, [UIScreen mainScreen].bounds.size.width, [UIScreen mainScreen].bounds.size.height)];
//以下是webView加在网页的操作.
self.webView.delegate = self;
NSString* path = [[NSBundle mainBundle] pathForResource:@"index" ofType:@"html"];
NSURL* url = [NSURL fileURLWithPath:path];
NSURLRequest* request = [NSURLRequest requestWithURL:url] ;
[self.webView loadRequest:request];
[self.view addSubview:self.webView];
}
//在WebView完全加在完毕的代理方法里面
- (void)webViewDidFinishLoad:(UIWebView *)webView {
self.jsContext = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"];
//获取到JS里面名为"getinit"的变量
JSValue *value = self.jsContext[@"getinit"];
//然后给该变量函数的参数赋值,这样就大功告成了.
[value callWithArguments:@[@"liuguanhua"]];
}
网友评论