ios中webview的進階用法

來源:互聯網
上載者:User

標籤:

轉自:http://www.cnblogs.com/gcb999/p/3178728.html

 架構: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

服務端的用法

  

ios中webview的進階用法

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.