OC中调用JS
来源:互联网 发布:python 列表内元组 编辑:程序博客网 时间:2024/05/01 12:01
从iOS7开始 苹果公布了JavaScriptCore.framework,使得JS与OC的交互更加方便.
首先导入JavaScriptCore.framework框架.
点击 Linked Frameworks and Libraries 的添加后 选择 JavaScriptCore.framework,选中JavaScriptCore.framework后 点击右下角Add 添加完成,创建一个UIWebView 用来测试.
/* 测试代码如下 */
#import "ViewController.h"#import <JavaScriptCore/JavaScriptCore.h>#define KSCREENSIZE [UIScreen mainScreen].bounds.size@interface ViewController ()<UIWebViewDelegate>@property(nonatomic,weak) UIWebView *testWebView;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; // 初始化webView UIWebView *testWebView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, KSCREENSIZE.width, KSCREENSIZE.height)]; // 添加webView到当前的viewController的view上 [self.view addSubview:testWebView]; self.testWebView = testWebView; testWebView.delegate = self; // 网址 NSString *httpStr = @"https://www.baidu.com"; NSURL *httpUrl = [NSURL URLWithString:httpStr]; NSURLRequest *httpRequest = [NSURLRequest requestWithURL:httpUrl]; [testWebView loadRequest:httpRequest];}#pragma mark - UIWebView的代理方法- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{ // 网页加载之前会调用这个方法 // return YES 表示正常加载网页 返回 NO 将停止加载网页 return YES;}- (void)webViewDidStartLoad:(UIWebView *)webView{ // 开始加载网页时调用}- (void)webViewDidFinishLoad:(UIWebView *)webView{ // 网页加载完成时调用 // MARK: - OC调用JS // 首先创建JSContext 对象 (此处通过当前webView的键获取到就是从jscontext) JSContext *context = [webView valueForKeyPath:@"documentView.webView.mainFrame.javaScriptContext"]; // 准备执行的js代码 NSString *alertJS = @"alert('Warning')"; // 通过OC方法调用js的alert [context evaluateScript:alertJS];}- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error{ // 网页加载失败 会调用}
/* 运行效果如下 */
END
0 0
- OC中调用JS
- IOS中OC与JS互相调用
- JS调用OC函数
- OC调用JS内容
- oc调用js方法
- OC调用js(JavaScriptCore)
- js调用OC代码
- iOS-JS调用OC
- OC调用JS(stringByEvaluatingJavaScriptFromString)
- JS 调用 OC
- js 和 oc 调用
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView中Html中用JS调用OC方法及OC执行JS代码
- UIWebView和网页的交互(JS中调用OC代码)
- IOS WebView中JS和OC相互调用
- nagios系列(一)centos6.5环境部署nagios服务端
- DFS算法
- HDOJ 2067 小兔的棋盘(棋盘dp)
- go利用x/net/html包实现的蜘蛛
- spring boot
- OC中调用JS
- HDU 1194
- 如何保存Win10壁纸
- Data Type
- 面试题:较为完整的atoi的实现,奶牛苹果的最小搬运次数
- 解决C3P0在Linux下Failed to get local InetAddress for VMID问题
- 技术点
- LeakCanary开源项目
- AndroidStudio 2.1.2版本 JNI的注册方式