【iOS和HTML 5交互】iOS中加载html5调用html方法和修改html5内容

   近期项目开发中用到了这方面的技术了,那我们一起来看看。

  • 1.利用webView控件加载本地html5或者网络上html5
  • 2.设置控制器为webView的代理,遵守协议
  • 3.实现代理方法webViewDidFinishLoad:
  • 4.在代理方法中进行操作HTML5中的标签(CRUD-->增删改查)
    • 1.用类选择器或者id选择器或者标签选择器等选择要进行操作的标签
    • 2.把选择好的标签转换成字符串
    • 3.webView调用stringByEvaluatingJavaScriptFromString方法
  • 应用场景:比如加载了网络上的百度链接,但是不想要它某个链接标签,利用这个代理方法,获取这个标签,然后删除它,或者更改他标签的显示文字等内容

1.加载本地HTML5

NSURL *url = [[NSBundle mainBundle] URLForResource:@"test" withExtension:@"html"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];

2.加载网络上网页HTML5

NSURL *url = [NSURL URLWithString:@"http://www.baidu.com"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[self.webView loadRequest:request];

3.在oc中删除HTML5中的某个标签,比如按钮

// 网页视图加载完毕会调用代理的这个方法
- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *str = @"document.getElementsByClassName(‘detail_btns2‘)[0].remove();";
    [webView stringByEvaluatingJavaScriptFromString:str];
}

4.在oc中更改HTML5内容

- (void)webViewDidFinishLoad:(UIWebView *)webView
{
    NSString *headerStr = @"document.getElementsByTagName(‘h1‘)[0].innerText = ‘测试文字‘;";
    [webView stringByEvaluatingJavaScriptFromString:headerStr];

    NSString *downLoadStr = @"document.getElementById(‘xiazaiapp‘).getElementsByTagName(‘a‘)[0].innerText = ‘下个鸡蛋‘;";
    [webView stringByEvaluatingJavaScriptFromString:downLoadStr];
}

https://github.com/CoderJackyHuang/TextVeiw-Label-HTML-DEMO UITextView和UILabel如何加载HTML内容

https://github.com/CoderJackyHuang/WebViewImgAutoFit WebView加载HTML中的图片时,处理图片超过屏幕的问题,让图片自适应屏幕

https://github.com/CoderJackyHuang/WebViewJavascriptBridgeDemo

另外附赠一个链接,直接带有效果图的。

http://www.jianshu.com/p/8ee9e168d680

时间: 2024-10-13 21:32:00

【iOS和HTML 5交互】iOS中加载html5调用html方法和修改html5内容的相关文章

cad中在c#.net中加载lisp程序的方法

主要是想将以前的lisp程序整合到现在的.net菜单中才会这么干的 using Autodesk.AutoCAD.Windows; using Autodesk.AutoCAD.Runtime; using System.Windows.Forms; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.EditorInput; using Autodesk.AutoCAD.ApplicationServices; usi

在ASP.NET MVC中加载部分视图的方法及差别

在视图里有多种方法可以加载部分视图,包括Partial() .Action().RenderPartial().RenderAction().RenderPage()方法.下面说明一下这些方法的差别. 1. Partial与RenderPartial方法 Partial可以直接输出内容,在内部将html内容转化为String字符(MVCHtmlString),然后缓存起来,最后一次性输出到页面.效率比较低 通常使用RenderPartial代替 2. RenderPartial与RenderAc

js页面加载时调用函数方法

方法一:在html的body中加入onload=""事件 <body onload='queryServer()'> </body> 方法二:jquery 中:$(function(){}) //方法体里面写调用方法 <!-- 全局js --><script src="../js/jquery.min.js?v=2.1.4"></script> <script type="text/java

.net core中加载lua脚本的类库: MoonSharp

前言 MoonSharp是一个支持C#调用lua脚本的类库,支持.net, .net core, mono, unity,因此在.net core中也能够使用,而且加载和调用lua也很方便简单: 官网:http://www.moonsharp.org/ 源码:https://github.com/xanathar/moonsharp nuget:PM> Install-Package MoonSharp 使用 加载脚本 1 string scriptCode = @" 2 sum = 0

iOS Interface Builder:在.xib文件中加载另一个.xib文件

在开发中,经常会用到一个需要重复使用的模块,比如好友列表中每个用户的展示或每条动态,这些都是相同的模版,这样我们就可以把这个部分提取出来放到一个单独的.xib中.那么提取出的.xib如何在其他.xib中使用呢? 接下来就说一下如何在.xib中加载其他的.xib.大概结构是这样的: 创建项目,项目名称叫CompositeXib 创建MainView和ChildView,ChildView将作为子View包含到MainView中. 创建完成后是这样的: 设置ChildView的Size可以自定义,去

iOS 加载图片选择imageNamed 方法还是 imageWithContentsOfFile?

Apple官方的文档为生成一个UIImage对象提供了两种方法: 1. imageNamed,其参数为图片的名字: 2. imageWithContentsOfFile,其参数也是图片文件的路径. 那么两种有什么区别吗? 肯定是有的.根据Apple的官方文档: imageNamed: 这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象如果它存在的话.如果缓存中没有找到相应的图片,这个方法从指定的文档中加载然后缓存并返回这个对象.因此imageNamed的优点是当加载时会缓存图片.所以当图

IOS 开发下拉刷新和上拉加载更多

IOS 开发下拉刷新和上拉加载更多 简介 1.常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTTableViewrefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 2.AH3DPullRefresh实现下拉刷新和上拉下载的步骤 添加UIScrollView+AH3DPullRefresh.h 和UIScrollView+AH3DPullRefresh.m两个文件,由此可知,它是基于UIScrollView的方法. 在bu

iOS开发之下拉刷新,上拉加载更多

iOS开发之下拉刷新和上拉加载更多 1.简介(在我们常见的app中都有上拉以及下拉的操作,比例QQ,微信...所以上拉以及下拉的开源库比较多 上拉下拉开源库下载) 常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTableViewRefresh (3)AH3DPullRefresh (4)MJRefresh (5)自己实现 (一般情况不要自己实现,竟然有了没必要) 2.AH3DPullRefresh的使用 AH3DPullRefresh 也是一个上拉下拉开源库.使用

iOS开发之下拉刷新和上拉加载

iOS开发之下拉刷新和上拉加载 1.简介 常用的下拉刷新的实现方式 (1)UIRefreshControl (2)EGOTableViewRefresh (3)AH3DPullRefresh  (本文实例所用) (4)MJRefresh (5)自己实现 2.效果图 下拉刷新 上拉加载 3. 代码实现过程 3.1 首先添加AH3DPullRefresh到工程中, 设置UIScrollView+AH3DPullRefresh.m文件为非ARC(加入 -fno-objc-arc) 在需要添加下拉刷新的