iOS14 UIWebView

显示网页数据
代理方法<UIWebViewDelegate>
shouldStartLoadWithRequest: 请求之前判断是否允许访问(过滤某些网址)
属性UIScrollView可以控制滚动范围
loadHTMLString
loadData:
可以加载网络资源和本地资源
scalesPageToFit 屏幕自适应
dataDetectorTypes 自动检测网页中出现的电话号码,网址等,添加下划线和链接。
            // 始发送请求(加载数据)时调用这个方法
- (void)webViewDidStartLoad:(UIWebView *)webView;
           // 请求完毕(加载数据完毕)时调用这个方法
- (void)webViewDidFinishLoad:(UIWebView *)webView;
           // 请求错误时调用这个方法
- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error;
         // UIWebView在发送请求之前,都会调用这个方法,如果返回NO,代表停止加载请求,返回YES,代表允许加载请求
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;/*
* 每当webView即将发送一个请求之前,都会调用这个方法
* 返回YES:允许加载这个请求
* 返回NO:禁止加载这个请求
*/- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{     NSLog(@"%s",__func__);    if ([request.URL.absoluteString containsString:@"life"]) {        return NO;
    }    return YES;
}

1/ loadRequest:

四个segement,控制网页的前进返回,从新加载。

2.uiviewdelegate的四个代理方法:

3/通过输输入框接收输入的网址,进行接收数据的加载页面

4.通过segement的点击时间控制页面的切换,实现网页所谓停止加载,重新加载,前进或者后退。

HTML;

1/n多标签,主要分3类,(1)块极标签,独占一行,随时可以设置宽度和高度,div,p,h1,h2,ul,li(2)行内标签,内联标签,多个行内标签,能同时显示在一行,宽度和高度取决于内容的尺寸(3)行内-块极标签,内联-快级标签。

2/CSS中有个display,属性,修改标签的显示类型,(1)none,隐藏标签,(2)block 让标签变为快级标签,(3)inline让标签变为行内标签

3.网页开发学习,

JS介绍

HTML5

  • html(内容) + CSS(样式) + JS(动态效果、事件交互)
  • 常用JS函数
    • -alert(10);  // 弹框
    • document.getElementById(‘test’); // 根据ID获得某个DOM元素
  • JS和OC通信
  • oc执行js
    • stringByEvaluatingJavaScriptFromString
    • JS 函数   function
  • JS执行OC
    • 通过代理法方法 shouldStartLoadWithRequest
    • 在js函数中调用 loaction.href = ‘slq://sendMessage_?参数1&参数2‘;
    • 传递参数的话,在方法后边写入一符号(_、@等)标识要传递参数,然后参数之间也要加入符号分割

回到顶部

OC执行JS

  • 是用OC执行那个JS脚本
  •    stringByEvaluatingJavaScriptFromString
   [webView stringByEvaluatingJavaScriptFromString:@"alert(100)"];      // 调用JS中的函数,
    NSLog(@"%@",[webView stringByEvaluatingJavaScriptFromString:@"login();"]);      self.title = [webView stringByEvaluatingJavaScriptFromString:@"document.title;"];
时间: 2024-08-29 00:55:23

iOS14 UIWebView的相关文章

UIWebView中的JS和OC的互调

html的代码如下: <html> <head>     <meta xmlns="http://www.w3.org/1999/xhtml" http-equiv="Content-Type" content="text/html; charset=utf-8" />     <title>这是一个示例html文件</title>     <script Type='text/j

iOS中UIWebView的使用详解

iOS中UIWebView的使用详解 一.初始化与三种加载方式 UIWebView继承与UIView,因此,其初始化方法和一般的view一样,通过alloc和init进行初始化,其加载数据的方式有三种: 第一种: - (void)loadRequest:(NSURLRequest *)request; 这是加载网页最常用的一种方式,通过一个网页URL来进行加载,这个URL可以是远程的也可以是本地的,例如我加载百度的主页:     UIWebView * view = [[UIWebView al

点击UIWebView上文字调用方法

有的时候应用中需要通过点击网页中的文字或者按钮调用一个方法或事件,这时需要我们将网页与应用之间建立联系. 1.和服务器人员约定一个协议例如ios:// 2.当点击网页上文字或按钮时,跳转这个约定协议的路径 3.通过webview代理方法监听url,判断是哪个操作决定调用方法. window.location.href = 'iso://openCamer'; #pragma mark - UIWebViewDelegate /** 当webView发送一个请求之前都会调用这个方法, 返回YES,

UIWebView

目录 对UIWebView的理解 UIWebView的操作 UIWebView加载网页的三种方式 UIWebView的代理 Objective C与JS的交互 对UIWebView的理解 UIWebView的操作 UIWebView加载网页的三种方式 [_webView loadRequest:NSURLRequest]; [_webView loadHTMLString: baseURL:NSURL]; [_webView loadData:(NSData *)data MIMEType:(N

UIWebView页面的控制(二)

1.UIWebView的内容控制的属性/方法列表 loading属性               确认当前页面是否在读入中 canGoForward属性   确认goForward  方法是否可执行,可执行为yes: canGoBack属性        确认goBack  方法是否可执行,可执行为yes: goBack方法               返回前一个页面 goForword方法          进入下一个页面 reload方法                 重新读入当前页 st

使用UIWebView载入本地或远程server上的网页

大家都知道,使用UIWebView载入本地或远程server上的网页,sdk提供了三个载入接口: - (void)loadRequest:(NSURLRequest *)request; - (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; - (void)loadData:(NSData *)data MIMEType:(NSString *)MIMEType textEncodingName:(NSString

【iOS开发】UIWebView与JavaScript(JS) 回调交互

引用:http://blog.sina.com.cn/s/blog_693de6100102vi3w.html 很多关于object-c(简称:oc,是ios开发app使用的语言) 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样, 参考:http://blog.sina.com.cn/s/blog_693de6100102vhuh.html 本文提供了一个很好解决 交互的思路. 自然,从oc到js,可以使用 stringByEvaluatingJavaScr

使用WKWebView替换UIWebView

开发App的过程中,常常会遇到在App内部加载网页,通常用UIWebView加载.这个自iOS2开始使用的网页加载器一直是开发的心病:加载速度慢,占用内存多,优化困难.如果加载网页多,还可能因为过量占用内存而给系统kill掉.各种优化的方法效果也不那么明显(点击查看常用优化方法). iOS8以后,苹果推出了新框架Wekkit,提供了替换UIWebView的组件WKWebView.各种UIWebView的问题没有了,速度更快了,占用内存少了,一句话,WKWebView是App内部加载网页的最佳选择

UIWebView和UIWebViewDelegate的基本用法

UIWebView和UIWebViewDelegate的基本用法 一.UIWebView主要有三种方法实现页面的装载,分别是: 1. (void)loadRequest:(NSURLRequest *)request;  (直接装载URL) 2. (void)loadHTMLString:(NSString *)string baseURL:(NSURL *)baseURL; (主要用于装载用字符串拼接成的HTML代码)3 .(void)loadData:(NSData *)data MIMET