webview与js的通信框架
来源:互联网 发布:唐筛报告怎么看 知乎 编辑:程序博客网 时间:2024/06/05 16:16
webview与js的通信框架
#import "MJViewController.h"#import "MBProgressHUD+Add.h"@interface MJViewController ()@end@implementation MJViewController- (void)viewDidLoad{ [super viewDidLoad]; [self loadRemoteHTML];}#pragma mark 加载远程的HTML页面- (void)loadRemoteHTML { NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/"]; self.webView.delegate = self; [self.webView loadRequest:[NSURLRequest requestWithURL:url]];}#pragma mark 加载其他文件- (void)loadRemoteTxt { NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/abc.txt"]; self.webView.delegate = self; [self.webView loadRequest:[NSURLRequest requestWithURL:url]];}#pragma mark 加载PDF文件- (void)loadLocalPDF { //[self.webView loadData:<#(NSData *)#> MIMEType:<#(NSString *)#> textEncodingName:<#(NSString *)#> baseURL:<#(NSURL *)#>]; NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/第10章-网络.pdf"]; self.webView.delegate = self; [self.webView loadRequest:[NSURLRequest requestWithURL:url]];}#pragma mark 加载HTML字符串- (void)loadHTMLString { NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Pictures"]; [self.webView loadHTMLString:@"<html><body><img src='lufy.png'></body></html>" baseURL:url];}#pragma mark - webview代理方法- (void)webViewDidStartLoad:(UIWebView *)webView { NSLog(@"开始加载页面"); [MBProgressHUD showMessag:@"哥正在帮你加载..." toView:self.view];}- (void)webViewDidFinishLoad:(UIWebView *)webView { NSLog(@"页面加载完毕"); [MBProgressHUD hideHUDForView:self.view animated:YES]; self.backItem.enabled = self.webView.canGoBack; self.forawrdItem.enabled = self.webView.canGoForward; self.titleItem.title = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"]; //[self.webView stringByEvaluatingJavaScriptFromString:@"fn();"];}#pragma mark webview每次加载之前都会调用这个方法// 如果返回NO,代表不允许加载这个请求- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { // 说明协议头是ios if ([@"ios" isEqualToString:request.URL.scheme]) { NSString *url = request.URL.absoluteString; NSRange range = [url rangeOfString:@":"]; NSString *method = [request.URL.absoluteString substringFromIndex:range.location + 1]; SEL selector = NSSelectorFromString(method); if ([self respondsToSelector:selector]) { [self performSelector:selector]; } return NO; } return YES;}#pragma mark - 提供一个接口方法给JS调用- (void)openCamera { NSLog(@"打开了照相机");}- (void)call { NSLog(@"打电话");}#pragma mark - 按钮方法#pragma mark 前进- (void)forawrd { [self.webView goForward];}#pragma mark 后退- (void)back { [self.webView goBack];}@end
服务端的用法
0 0
- webview与js的通信框架
- webview与js的通信框架
- webview与js的通信
- webView 高级用方法 二 webview与js的通信框架
- iOS WebView与js通信
- Android WebView Java与Js通信
- Android WebView与js交互通信
- WebView与js的交互
- js与webView的交互
- WebView 与 JS 的交互
- webView 与 JS 的交互
- WebView与Js的交互
- webview与js的交互
- 关于RN与webview的简单通信
- 关于 React Native 与 WebView 的通信
- Android WebView js 与 java 之间相互通信
- Android WebView 中 JS 与Java之间通信
- reactnative 与webview通信
- 区别-exe dll
- 数据结构之线性表
- 1115. Counting Nodes in a BST (30)
- 第四周项目训练5
- 各种平台下获取前一天日期
- webview与js的通信框架
- 小试循环(奇数和)
- ubuntu查看网关
- c++作业2
- 【代码笔记】iOS-获得富文本设置以后的文字高度
- 2016年,C语言该怎样写
- 机器学习基础(四)——持久化分类器
- Android Studio开发调试Installation failed since the device possibly has stale dexed jars
- String的split()方法探索和大揭秘