1. #import "MJViewController.h"
  2. #import "MBProgressHUD+Add.h"
  3.  
  4. @interface MJViewController ()
  5.  
  6. @end
  7.  
  8. @implementation MJViewController
  9.  
  10. - (void)viewDidLoad
  11. {
  12. [super viewDidLoad];
  13.  
  14. [self loadRemoteHTML];
  15. }
  16.  
  17. #pragma mark 加载远程的HTML页面
  18. - (void)loadRemoteHTML {
  19. NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/"];
  20.  
  21. self.webView.delegate = self;
  22. [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
  23. }
  24.  
  25. #pragma mark 加载其他文件
  26. - (void)loadRemoteTxt {
  27. NSURL *url = [NSURL URLWithString:@"http://192.168.1.106:8080/MJServer/abc.txt"];
  28.  
  29. self.webView.delegate = self;
  30. [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
  31. }
  32.  
  33. #pragma mark 加载PDF文件
  34. - (void)loadLocalPDF {
  35. //[self.webView loadData:<#(NSData *)#> MIMEType:<#(NSString *)#> textEncodingName:<#(NSString *)#> baseURL:<#(NSURL *)#>];
  36.  
  37. NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Desktop/第10章-网络.pdf"];
  38.  
  39. self.webView.delegate = self;
  40. [self.webView loadRequest:[NSURLRequest requestWithURL:url]];
  41. }
  42.  
  43. #pragma mark 加载HTML字符串
  44. - (void)loadHTMLString {
  45. NSURL *url = [NSURL fileURLWithPath:@"/Users/apple/Pictures"];
  46. [self.webView loadHTMLString:@"<html><body><img src='lufy.png'></body></html>" baseURL:url];
  47. }
  48.  
  49. #pragma mark - webview代理方法
  50. - (void)webViewDidStartLoad:(UIWebView *)webView {
  51. NSLog(@"开始加载页面");
  52. [MBProgressHUD showMessag:@"哥正在帮你加载..." toView:self.view];
  53. }
  54.  
  55. - (void)webViewDidFinishLoad:(UIWebView *)webView {
  56. NSLog(@"页面加载完毕");
  57. [MBProgressHUD hideHUDForView:self.view animated:YES];
  58.  
  59. self.backItem.enabled = self.webView.canGoBack;
  60. self.forawrdItem.enabled = self.webView.canGoForward;
  61.  
  62. self.titleItem.title = [self.webView stringByEvaluatingJavaScriptFromString:@"document.title"];
  63.  
  64. //[self.webView stringByEvaluatingJavaScriptFromString:@"fn();"];
  65. }
  66. #pragma mark webview每次加载之前都会调用这个方法
  67. // 如果返回NO,代表不允许加载这个请求
  68. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType {
  69. // 说明协议头是ios
  70. if ([@"ios" isEqualToString:request.URL.scheme]) {
  71. NSString *url = request.URL.absoluteString;
  72. NSRange range = [url rangeOfString:@":"];
  73. NSString *method = [request.URL.absoluteString substringFromIndex:range.location + ];
  74.  
  75. SEL selector = NSSelectorFromString(method);
  76.  
  77. if ([self respondsToSelector:selector]) {
  78. [self performSelector:selector];
  79. }
  80.  
  81. return NO;
  82. }
  83.  
  84. return YES;
  85. }
  86.  
  87. #pragma mark - 提供一个接口方法给JS调用
  88. - (void)openCamera {
  89. NSLog(@"打开了照相机");
  90. }
  91.  
  92. - (void)call {
  93. NSLog(@"打电话");
  94. }
  95.  
  96. #pragma mark - 按钮方法
  97. #pragma mark 前进
  98. - (void)forawrd {
  99. [self.webView goForward];
  100. }
  101. #pragma mark 后退
  102. - (void)back {
  103. [self.webView goBack];
  104. }
  105. @end

服务端的用法

ios中webview的高级用法(二)的更多相关文章

  1. ios中webview的高级用法

    .隐藏上下滚动时出边界的后面的黑色的阴影 - (void) hideGradientBackground:(UIView*)theView { for (UIView * subview in the ...

  2. 详解Vue中watch的高级用法

    我们通过实例代码给大家分享了Vue中watch的高级用法,对此知识点有需要的朋友可以跟着学习下. 假设有如下代码: <div> <p>FullName: {{fullName} ...

  3. linux中find命令高级用法

    前言 在<Linux中的文件查找技巧>一文中,我们已经知道了文件查找的基本方法,今天我们介绍find命令的一些高级使用技巧.它能满足我们一些更加复杂的需求. 查找空文件或空目录 有时候需要 ...

  4. iOS中的crash防护(二)KVC造成的crash

      接上篇< iOS中的crash防护(一)unrecognized selector sent to instance> 我们攻克了找不到方法实现的crash,这一篇我这里主要分析一下在 ...

  5. iOS中webView加载URL需要处理特殊字符

    今天在项目中遇到webView加载URL时,因为URL中有特殊字符,导致页面无法加载,而且在- (BOOL)webView:(UIWebView )webView shouldStartLoadWit ...

  6. iOS中 Swift初级入门学习(二)

    // Copyright (c) 2015年 韩俊强. All rights reserved. // import Foundation /* // 控制语句 // for - in // 遍历字符 ...

  7. IOS中WebView的使用

    UIWebView是iOS sdk中一个最常用的控件.是内置的浏览器控件,我们可以用它来浏览网页.打开文档等等,UIWebView能够加载html/htm.pdf.docx.txt等格式的文件  系统 ...

  8. iOS中Block的基础用法

    本文简介 本章不会对Block做过多的实现研究.只是讲解基本的用法.纯粹基础知识.结合实际项目怎么去做举例.Block使用场景,可以在两个界面的传值,也可以对代码封装作为参数的传递等.用过GCD就知道 ...

  9. JavaScript高级用法二之内置对象

    综述 本篇的主要内容来自慕课网,内置对象,主要内容如下 1 什么是对象 2 Date 日期对象 3 返回/设置年份方法 4 返回星期方法 5 返回/设置时间方法 6 String 字符串对象 7 返回 ...

随机推荐

  1. iOS开发-16进制颜色转换

    项目中经常会用到颜色转换,有的是通过十六进制转成数字转颜色,想简单的点直接通过字符串转一下,简单扩展了一下分类UIColor,代码如下: +(UIColor *)colorWithHex:(NSStr ...

  2. TCP UDP Socket 即时通讯 API 示例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  3. CentOS中zip压缩和unzip解压缩命令详解

    以下命令均在/home目录下操作cd /home #进入/home目录1.把/home目录下面的mydata目录压缩为mydata.zipzip -r mydata.zip mydata #压缩myd ...

  4. free的说明

    http://www.cnblogs.com/peida/archive/2012/12/25/2831814.html

  5. SSAS知识回放之订单数据分析

    1:目标 基于已经做好的DW,利用SSAS实现一个多维数据模型的创建,通过浏览可以简单的实现订单数据的分析 2:步骤 2.1:添加数据源 如下图所示,创建一个数据仓库层的数据源连接 2.2:添加数据源 ...

  6. MFC对话框:模态对话框及其弹出过程

    From: http://www.jizhuomi.com/school/c/160.html 加法计算器对话框程序大家照着做一遍后,相信对基于对话框的程序有些了解了,有个好的开始对于以后的学习大有裨 ...

  7. ifdef ANDROID总是不好用

    在vs的proprocessor definition中定义了ANDRIOD, 但是执行下面的代码的时候,总是说ANDROID is not defined.     #ifdef ANDROID   ...

  8. 手机wap适配

    <meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scal ...

  9. ZH奶酪:Python中range和xrange的区别

    range    函数说明:range([start,] stop[, step]),根据start与stop指定的范围以及step设定的步长,生成一个序列.range示例: >>> ...

  10. Linux shell中一些参数与变量简介

    linux中shell变量$#,$@,$0,$1,$2,$!,$$,$*,$-,$@......等很多个,很容易记错,这里再次整理一下,相关含义解释如下,并附上一个实践截图. 多看几次,多用几次,应该 ...