iOS-UIWebView的一些用法(js调oc方法)

    NSURL *url = [NSURL URLWithString:@"[http://www.baidu.com]"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];
  • UIWebView加载本地html

    方法1

      //加载本地html
        NSString *basePath = [[NSBundle mainBundle] bundlePath];
        NSString *htmlPath = [basePath stringByAppendingPathComponent:@"test.html"];
        NSURL *url = [NSURL fileURLWithPath:htmlPath];
        NSURLRequest *request = [NSURLRequest requestWithURL:url];
        [self.webView loadRequest:request];
        

    方法2

      NSString *path = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"html"];
        NSURL *url = [NSURL URLWithString:path];
        self.webView.scalesPageToFit = YES;
        NSString *htmlString = [NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
        [self.webView loadHTMLString:htmlString baseURL:url];
        
  • JS调用OC方法

    网上有开源框架,可以实现native 和 js直接互相调用 WebViewJavascriptBridge,如果只是需要简单的调用的话,完全可以利用UIWebView的代理方法代替- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType,代码如下:

- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
NSString *url = [[request URL] absoluteString];
//    NSURL *url = [request URL];
NSLog(@"%@",url);
//代码中根据返回的URL或者scheme来判断处理不同逻辑
if ([url isEqualToString:@"demo://"])
{
DetailViewController *detail = [[DetailViewController alloc] init];
[self.navigationController pushViewController:detail animated:YES];
}
return YES;
}

html代码如下:

<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>
测试网页
</title>
<script type="text/javascript">
function demo()
{
<!--    alert(1212);-->
window.location.href="demo://";
}
</script>
<style type="text/css">
/*div{
border-radius: 30px;
background-color: yellow;
position: relative;
}*/
button{
font-size: 40px;
background-color: red;
padding-top: 10px;
margin: 30px;
position: relative;
left: 29%;
}
</style>
</head>
<body>
<div>
</br></br></br></br></br></br></br>
<button onclick = "demo()" >按钮事件</button>
</div>
</body>
</html>

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

时间: 2024-10-10 23:45:48

iOS-UIWebView的一些用法(js调oc方法)的相关文章

UIWebView中Html中用JS调用OC方法及OC执行JS代码

1.HTML页面 1 <html> 2 3 <head> 4 5 <title>HTML中用JS调用OC方法</title> 6 7 <meta http-equiv="Content-Type"content="text/html; charset=UTF-8"> 8 9 <script> 10 11 function test() 12 13 { 14 15 alert("test

转载 -- 基于原生JS与OC方法互相调用并传值(附HTML代码)

最近项目里面有有个商品活动界面,要与web端传值,将用户在网页点击的商品id 传给客户端,也就是js交互,其实再说明白一点就是方法的互相调用而已. 本文叙述下如何进行原生的JavaScript交互 本文包括JS调用OC方法并传值,OC调用JS方法并传值 本来想把html放进服务器里面,然后访问,但是觉得如果html在本地加载更有助于理解,特把html放进项目里 HTML代码 <!DOCTYPE html> <html> <head> <meta charset=&

iOS JS 交互之利用系统JSContext实现 JS调用oc方法

ios js 交互分为两块: 1.oc调用js 这一块实现起来比较简单, 我的项目中加载的是本地的html,js,css,需要注意的是当你向工程中拖入这些文件时,选择如下操作,(拖入的文件夹是蓝色的,相对路径),不然css,js 的路径会存在问题 加载本地html: oc调用js:一句代码搞定 2.js 调用oc js调用oc又分为两种: 1.js端是直接调用方法 这里就要说到ios7才推出的一个新的api    JavaScriptCore,首先我们引入这个类,并初始化一个JSContext对

js调用oc方法 UIWebView 跳 到另一个UIWebView

1 // 2 // BusinessListViewController.h 3 // LouLiLouWai 4 // 5 // Created by jouhu on 15/7/31. 6 // Copyright (c) 2015年 jouhu. All rights reserved. 7 // 8 9 #import <UIKit/UIKit.h> 10 11 @interface BusinessListViewController : UIViewController 12 @p

JS调用OC方法

- (void)myMethod:(CDVInvokedUrlCommand*)command { NSString* echo = [command.arguments objectAtIndex:0]; NSLog(@"%@",echo); POSJiaoyiViewController *sele=[[POSJiaoyiViewController alloc] init]; [self.viewController.navigationController pushViewCo

iOS UIWebView 访问https绕过证书验证的方法

@implementation NSURLRequest (NSURLRequestWithIgnoreSSL) + (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host{    return YES;} @end

iOS下JS与OC互相调用(二)--WKWebView 拦截URL

在第一篇文章 iOS下JS与OC互相调用(一)中讲述了使用UIWebView拦截URL的方式来处理JS与OC交互. 由于UIWebView比较耗内存,性能上不太好,而苹果在iOS 8中推出了WKWebView. 同样的用WKWebView也可以拦截URL,做JS 与OC交互.关于WKWebView与UIWebView的对比,大家请自动百度或者google. WKWebView 拦截URL WKWebView 与 UIWebView 拦截URL 的处理方式基本一样.除了代理方法和WKWebView

iOS下JS与OC互相调用(一)--UIWebView 拦截URL

http://blog.csdn.net/u011619283/article/details/52135977 最近准备把之前用UIWebView实现的JS与原生相互调用功能,用WKWebView来替换.顺便搜索整理了一下JS 与OC 交互的方式,非常之多啊.目前我已知的JS 与 OC 交互的处理方式: * 1.在JS 中做一次URL跳转,然后在OC中拦截跳转.(这里分为UIWebView 和 WKWebView两种,去年因为还要兼容iOS 6,所以没办法只能采用UIWebView来做.) *

UIWebView的应用和其中的JS与OC间传值

现在有很多的应用已经采用了WebView和html语言结合的开发模式.html5一直很火因为一份代码可以在多个平台上运用啊,效果各不相同都很美观,也越来越有一些公司直接招后台程序员和html5程序员,做完的产品再安卓也能用iOS也能用,不用再招双份的工程师了.应用程序一进去就全是UIWebView,里面发个请求到自己用html5做的页面,这就是一个应用!当然今天的主要不是说html5,是说html语言中JS代码和OC代码之间的传值. 先举例一个简单的用法: 我在模仿网易彩票做到设置页面的 常见问