全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

ios 获取或修改网页上的内容

UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。

stringByEvaluatingJavaScriptFromString

    使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载完成之后去调用。我们在界     面上拖放一个UIWebView控件。在Load中将google mobile加载到这个控件中,代码如下:

- (void)viewDidLoad
 {
   [super viewDidLoad];
   webview.backgroundColor = [UIColor clearColor]; 
  webview.scalesPageToFit =YES;
  webview.delegate =self;
  NSURL *url =[[NSURL alloc] initWithString:@"http://www.google.com.hk/m?gl=CN&hl=zh_CN&source=ihp"];
  NSURLRequest *request = [[NSURLRequest alloc] initWithURL:url];
  [webview loadRequest:request];  
}

我们在webViewDidFinishLoad方法中就可以通过javascript操作界面元素了。

1、获取当前页面的url。

- (void)webViewDidFinishLoad:(UIWebView *)webView {  
  NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"]; 

2、获取页面title:

NSString *title = [webview stringByEvaluatingJavaScriptFromString:@"document.title"];

3、修改界面元素的值。

NSString *js_result = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByName('q')[0].value='朱祁林';"]; 

4、表单提交:

NSString *js_result2 = [webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit(); "]; 

5、获取所有的html

NSString *allHtml = @"document.documentElement.innerHTML";
NSString *allHtmlInfo = [webView stringByEvaluatingJavaScriptFromString:allHtml];

6、获取网页的一个值

NSString *htmlNum = @"document.getElementById('title').innerText";
NSString *numHtmlInfo = [webView stringByEvaluatingJavaScriptFromString:htmlNum];

7、插入js代码

上面的功能我们可以封装到一个js函数中,将这个函数插入到页面上执行,代码如下:

if ([title compare: @"Google"]==NSOrderedSame ) { 
 
  [webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement_x('script');"  
   "script.type = 'text/javascript';"  
   "script.text = "function myFunction() { "  
   "var field = document.getElementsByName('q')[0];"  
   "field.value='朱祁林';"  
   "document.forms[0].submit();"  
   "}";"  
   "document.getElementsByTagName_r('head')[0].appendChild(script);"];   
   
  [webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];  
} 

看上面的代码:

a、首先通过js创建一个script的标签,type为'text/javascript'。

b、然后在这个标签中插入一段字符串,这段字符串就是一个函数:myFunction,这个函数实现google自动搜索关键字的功能。

c、然后使用stringByEvaluatingJavaScriptFromString执行myFunction函数。

以上所述是小编给大家介绍的ios 获取或修改网页上的内容,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# ios  # 获取网页内容  # ios修改网页内容  # iOS Webview自适应实际内容高度的4种方法详解  # 详解iOS App中UITableView的创建与内容刷新  # iOS中使用正则表达式NSRegularExpression 来验证textfiled输入的内容  # 我们可以  # 小编  # 加载  # 在这个  # 在此  # 这段  # 可以通过  # 给大家  # 表单  # 面上  # 中就  # 所述  # 创建一个  # 自动搜索  # 给我留言  # 最常用  # 感谢大家  # 中与  # 拖放  # 操作界面 


相关文章: 如何安全更换建站之星模板并保留数据?  Python多线程使用规范_线程安全解析【教程】  智能起名网站制作软件有哪些,制作logo的软件?  详解jQuery中基本的动画方法  香港服务器网站推广:SEO优化与外贸独立站搭建策略  网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?  如何在Mac上搭建Golang开发环境_使用Homebrew安装和管理Go版本  ,有什么在线背英语单词效率比较高的网站?  寿县云建站:智能SEO优化与多行业模板快速上线指南  如何在万网主机上快速搭建网站?  建站之星微信建站一键生成小程序+多端营销系统  如何基于云服务器快速搭建个人网站?  网站制作软件有哪些,制图软件有哪些?  如何在建站主机中优化服务器配置?  如何配置支付宝与微信支付功能?  定制建站平台哪家好?企业官网搭建与快速建站方案推荐  电影网站制作价格表,那些提供免费电影的网站,他们是怎么盈利的?  XML的“混合内容”是什么 怎么用DTD或XSD定义  官网网站制作腾讯审核要多久,联想路由器newifi官网  香港服务器网站生成指南:免费资源整合与高速稳定配置方案  C#如何序列化对象为XML XmlSerializer用法  打鱼网站制作软件,波克捕鱼官方号怎么注册?  如何选择靠谱的建站公司加盟品牌?  Thinkphp 中 distinct 的用法解析  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何快速搭建响应式可视化网站?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  如何制作网站标识牌,动态网站如何制作(教程)?  深圳网站制作的公司有哪些,dido官方网站?  深圳 网站制作,深圳招聘网站哪个比较好一点啊?  微信推文制作网站有哪些,怎么做微信推文,急?  网站视频怎么制作,哪个网站可以免费收看好莱坞经典大片?  定制建站策划方案_专业建站与网站建设方案一站式指南  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  赚钱网站制作软件,建一个网站怎样才能赚钱?是如何盈利的?  建站上传速度慢?如何优化加速网站加载效率?  如何用PHP快速搭建CMS系统?  b2c电商网站制作流程,b2c水平综合的电商平台?  javascript中的try catch异常捕获机制用法分析  如何用IIS7快速搭建并优化网站站点?  魔方云NAT建站如何实现端口转发?  黑客入侵网站服务器的常见手法有哪些?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  网站制作公司排行榜,四大门户网站排名?  宝塔建站教程:一键部署配置流程与SEO优化实战指南  建站之星如何快速生成多端适配网站?  如何获取PHP WAP自助建站系统源码?  大同网页,大同瑞慈医院官网?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  制作网站的过程怎么写,用凡科建站如何制作自己的网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。