`

UIWebView使用技巧2以及UIWebviewDelegate使用

    博客分类:
  • ios
阅读更多

 

详细参考:

 

http://blog.csdn.net/cococoolwhj/article/details/7019828

 

http://blog.sina.com.cn/s/blog_68501a5e010110hr.html

 

webView加载内容有三个方法:

– loadData:MIMEType:textEncodingName:baseURL:

这个方法没有使用过

– loadHTMLString:baseURL:

 

– loadRequest:

通过request加载一个page,只能加载整个html文件。代码:

 

 UIWebView *webView = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, 480)];
    NSURL *url =[NSURL URLWithString:URL_LOGIN];
    NSURLRequest *request =[NSURLRequest requestWithURL:url];
    [webView loadRequest:request];

 

 

 

 

UIWebViewDelegate 

 

– webView:shouldStartLoadWithRequest:navigationType:( 将要请求,还未请求)

这里会有三个参数:webview 当前的webview,可以通过webview的URL获取当前现实的网址

request 将要发起的request请求,即使是在ajax中打开新页面也会调用该方法

navigationType开始加载request时,用户的行为

– webViewDidStartLoad: (请求已经开始)

发送一个reeust请求时调用哪个(在ajax中请求不调用该方法)

– webViewDidFinishLoad:(请求结束)

当一个请求结束时调用该方法(在ajax中请求不调用该方法)

– webView:didFailLoadWithError:

请求失败时调用该方法(在ajax中请求不调用该方法)

 

设置UIWebView的user agent

    NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"GuoKr-IOS-1.5", @"UserAgent", nil];

    [[NSUserDefaultsstandardUserDefaults] registerDefaults:dictionary];

      user agent可以用来表示浏览器,不同版本的浏览器有不同的user agent。服务器可以根据不同的user agent做出不同的反应。例如区分移动浏览器和pc浏览器,显示不同内容。 

在代码中可以通过下面的代码获取当前控件的UA:

NSString *ua = [request valueForHTTPHeaderField:@"User-Agent"];

如果只是想修改某个reqeust的UA,可以在– webView:shouldStartLoadWithRequest:navigationType:中修改代码如下:

需要使用NSMutableRequest来修改reuqest

 

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    NSMutableURLRequest *mRequest = [NSMutableURLRequest requestWithURL:request.URL cachePolicy:request.cachePolicy timeoutInterval:request.timeoutInterval];
    
//    NSString *ua = [request valueForHTTPHeaderField:@"User-Agent"];
//    NSLog(@"%@",ua);
    
    NSString *temp = [NSString stringWithFormat:@"%@ GuoKr-IOS/1.5",[request valueForHTTPHeaderField:@"User-Agent"]];
    [mRequest setValue:temp forHTTPHeaderField:@"User-Agent"];
    request = mRequest;
    
//    NSString *ua1 = [request valueForHTTPHeaderField:@"User-Agent"];
//    NSLog(@"%@",ua1);
    
    return YES;
}

另一种方法:
NSDictionary *dictionary = [NSDictionary dictionaryWithObjectsAndKeys:@"Your user agent", @"UserAgent", nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionary];
 参考:http://stackoverflow.com/questions/478387/change-user-agent-in-uiwebview-iphone-sdk

 

 

 

设置代理:http://www.oschina.net/question/54100_38005

 

 

 

分享到:
评论

相关推荐

    UIWebView和UIWebViewDelegate的基本用法

    提供的压缩包文件中包含三个子文件夹:MyBrowser、MyBrowser2、MyBrowser3,它们可能是三个不同版本的示例项目,用于演示UIWebView的使用。每个项目可能包含了不同的功能,如自定义网页加载、前进后退、刷新等操作。...

    UIWebView使用

    一、UIWebView基本使用 1. 初始化:UIWebView可以通过初始化方法创建,例如`initWithFrame:frame`,指定一个矩形区域作为web视图的大小。 ```swift let webView = UIWebView(frame: CGRect(x: 0, y: 0, width: ...

    UIWebView的使用代码

    之前提到UIWebView使用一个UIScrollView对象来关联web页面的内容,通过UIWebView的scrollView属性即可获得该对象,默认情况下网页长度超出设备视口长度后页面会滚动,用户使用手指滚动页面到页面边距并放开手指后...

    Cocos2dx中UIWebView替换为WKWebView

    WKWebView在内存管理、JavaScript执行速度以及与App的集成方面都有显著提升,因此,对于Cocos2dx项目,更新或替换UIWebView是必要的。 解决问题有两种主要途径: 1. **升级Cocos2dx版本**:最理想的解决方案是将...

    IOS之UIWebView的使用(基本知识)共7页.pdf

    综上所述,“IOS之UIWebView的使用”涵盖了UIWebView的基础知识,包括创建、加载内容、与JavaScript交互以及注意事项。了解并掌握这些内容,对于开发具有Web功能的iOS应用至关重要。然而,随着技术的发展,开发者应...

    ios UIWebView使用

    下面将详细介绍UIWebView的使用,包括其定义、实现Delegate、以及如何与JavaScript进行交互。 1. **UIWebView的定义** UIWebView是UIKit框架的一部分,它是一个可以显示网页内容的视图。通过UIWebView,开发者可以...

    UIWebView Demo代码

    下面我们将深入探讨UIWebView的主要功能、使用方法以及相关的编程知识点。 1. **UIWebView介绍** UIWebView是UIKit框架的一部分,它允许iOS应用加载和显示HTML、CSS和JavaScript内容。开发者可以使用它来嵌入网页...

    UIWebView的使用

    这个"UIWebView的使用"示例是一个基础的学习项目,旨在帮助开发者理解如何通过UIWebView展示网页、进行交互以及处理一些常见的任务。 UIWebView是UIKit框架的一部分,它提供了一个可以加载和显示HTML、CSS、...

    iPhone开发之UIWebView示例程序

    2. **UIWebView的创建与布局**:在视图控制器的视图加载完成时,我们需要创建UIWebView对象并将其添加到视图层次结构中。这通常在`- (void)viewDidLoad`方法中进行。设置其frame以确定在屏幕上的位置和大小,例如`...

    UIWebView+html+css

    2. 设置代理:为了监听网页加载的进度和状态,我们需要设置UIWebView的代理,遵循`UIWebViewDelegate`协议。 3. 加载HTML:使用`loadHTMLString:baseURL:`方法加载本地或远程的HTML字符串。例如: ```swift let ...

    UIWebView使用[归纳].pdf

    本篇内容主要围绕UIWebView的使用进行归纳,包括如何创建UIWebView、快速展示游戏界面、保存用户登录信息、网络状态检测、减少页面切换白屏、XML配置以及固定方向控制等关键知识点。 1. **在APP中嵌入网页** 使用...

    UIWEBVIEW可添COCOS2D模版全解.rar

    为了更好地理解如何将UIWebView整合到Cocos2D项目中,你可以参考提供的"UIWebViewDemo.zip"文件,这个示例项目可能包含了如何创建和控制UIWebView的实例,以及如何在Cocos2D场景中嵌入UIWebView的代码。同时,...

    UIWebView和js交互demo1

    UIWebView的使用主要包括初始化、加载网页内容以及设置代理。首先,我们需要创建一个UIWebView实例,然后通过`loadRequest:`方法加载URL请求或`loadHTMLString:baseURL:`方法加载HTML字符串。设置`UIWebViewDelegate...

    (OC)(UIWebView)新闻详情.zip

    通常,这个过程会包括网络请求、JSON解析、UIWebView的使用以及与用户交互的部分。 【知识点详解】 1. **Objective-C基础**:首先,理解OC的基本语法和面向对象编程概念是必要的,包括类的定义、方法的声明和实现...

    UIWebViewDemo

    【UIWebViewDemo】是一个针对iOS开发的简单示例项目,主要展示了如何在iPhone应用中集成并使用`UIWebView`组件。`UIWebView`是苹果提供的一个原生控件,允许开发者在应用程序内部加载和显示HTML内容,从而实现网页...

    网页视图 UIWebView

    在本文中,我们将深入探讨UIWebView的基本使用,包括网络资源地址字符串的处理以及UIWebView的属性和协议的综合应用。 首先,让我们了解一下**UIWebView的基本使用**。创建一个UIWebView实例很简单,只需要在代码中...

    cocos2d-x 学习日志(2)之使用UIWebView加载网页

    本篇学习日志将深入探讨如何在cocos2d-x中使用UIWebView来加载网页。 首先,你需要了解`cocos2d-x`的基础知识。cocos2d-x是一个跨平台的2D游戏开发框架,支持iOS、Android、Windows等多个操作系统。它使用C++作为...

    uiwebview的使用方法总结

    ### UIWebView的使用方法总结 #### 一、创建UIWebView UIWebView是在iOS应用中嵌入网页的关键组件。为了在应用程序中使用UIWebView,首先需要创建一个新的iOS项目。以下是具体的步骤: 1. **创建新项目**:在...

Global site tag (gtag.js) - Google Analytics