UIWebView与JavaScript 交互

掌握iOS UIWebView应用实践与JavaScript交互 随着移动应用的广泛使用,用户界面的构建成为开发过程中的关键环节。在iOS开发中,UIWebView组件扮演着连接用户与网络内容的重要角色。它允许开发者在自己的应用程序中嵌入网页,从而可以展示来自互联网或本地的HTML内容。尽管随着技术的发展,Apple推荐开发者使用更为先进和性能更优的WKWebView组件,但UIWebView作为历史上的一个里程碑,其设计理念和应用价值依然值得深入了解。本章将从UIWebView的基本概念讲起,简述其在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:

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

   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(); "];

这样就实现了在google搜索关键字:“朱祁林”的功能。

5、插入js代码

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

复制代码
         [webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"  
         "script.type = 'text/javascript';"  
         "script.text = \"function myFunction() { "  
         "var field = document.getElementsByName('q')[0];"  
         "field.value='朱祁林';"  
         "document.forms[0].submit();"  
         "}\";"  
         "document.getElementsByTagName('head')[0].appendChild(script);"];   
        
        [webView stringByEvaluatingJavaScriptFromString:@"myFunction();"];  
复制代码

看上面的代码:

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

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

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

演示:

第一步打开google mobile网站

第二步输入关键字


第三步搜素

总结:这篇文章主要是讲解了stringByEvaluatingJavaScriptFromString的用法,它的功能非常的强大,用起来非常简单,通过它我们可以很方便的操作uiwebview中的页面元素。

用js做个简单的网页 简单的网页 立即下载

相关推荐

javascript简单的表单交互

javascript简单的表单交互

Objective-C与JavaScript的交互

转自:http://www.cnblogs.com/zhuqil/archive/2011/08/03/2126562.html   UIWebView是iOS最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。 stringB

demondev 453

Linux DRM驱动实战:手把手教你用drmModeSetCrtc显示纯色画面(附完整代码)

本文提供了一份完整的Linux DRM驱动实战指南,手把手教你使用drmModeSetCrtc在屏幕上显示纯色画面。文章详细解析了从打开设备、获取资源、创建帧缓冲区到最终提交画面的完整调用流程,并附带了可直接编译运行的完整代码示例,帮助开发者快速上手Linux图形底层开发。

weixin_29216353的博客 510

史上最全的 UIWebview 的 JS 与 OC 交互

  来源:伯乐在线 - 键盘风筝 链接:http://ios.jobbole.com/89330/ 点击 → 申请加入伯乐在线专栏作者   其实一直想给大家整理一下JS与OC的交互,但是没有合适的机会,今天借着微信小应用的发布,以及以后H5必定越来越流行,所以给大家整理一下.   交互方式有三种: 1.UIWebviewDelegate 2.JavaScriptCore ...

weixin_33849942的博客 120

FEniCS学习笔记01:centos7下通过conda安装FEniCSx0.7

2023年版本的Fenicsx0.7,官网推荐使用conda命令安装集成好的Python包,因此我们的安装思路是先安装Anaconda,再按照官网步骤安装Fenics。

huahua_xiao的博客 5056

【深度学习】普通卷积、DWconv(逐深度卷积)与PWconv(逐点卷积)以及DSconv(深度可分离卷积)

深度可分离卷积(Depthwise Separable Convolution)通过将常规卷积分解为逐通道卷积(Depthwise)和逐点卷积(Pointwise)两步,显著减少了参数量和计算成本。常规卷积同时提取空间和通道特征,而深度可分离卷积先对每个通道单独进行空间卷积,再用1×1卷积调整通道数。以输入3通道、输出4通道的64×64图像为例,常规卷积需108个参数,而深度可分离卷积仅需39个参数,减少了约2/3。这种结构在轻量级网络(如MobileNet)中广泛应用,可在保持性能的同时降低计算资源需求。

猫天意的博客 4051

IOS应用通过UIWEBVIEW实现与JS交互

众所周知,苹果商店的审核是不允许应用加载外部可执行文件的。即如果你想要给APP增加功能就需要修改代码增加新功能的代码后重新上传至苹果商店,经过漫长的审核之后再上线。那么有没有办法绕过这个步骤去动态的添加新功能呢?答案是有的。我们可以通过拥有历史悠久的javascript来实现这个。是的,你没看错。就是javascript!具体怎么实现呢?别着急,接着往下看。 在iOS里打开网页是用UIWebVi

chaoyuan899的专栏 3万+

数据分析面试八股文--技能软件类

数据分析的“三板斧"指的是三个在 Python 数据分析领域广泛使用的库:NumPy,Pandas,和 Matplotlib。这三个库提供了处理和分析数据的强大工具。NumPyNumPy(Numerical Python)是一个开源 Python 库,用于支持大型多维数组和矩阵运算。此外,NumPy 还提供了大量的数学函数来操作这些数组。np.array():创建数组np.arange():返回一个有终点和起点的固定步长的排列。

zfyzfw的博客 4376

IOS开发 - UIWebView(用法全面介绍,含最全的JS交互)

前两天我写了一套关于JS与OC交互的三种方法的文章,但是发现自己对UIWebView理解的还是比较浅,一直认为只能简单的当一个webView来使用,具体很多细节都忽略,如果想看我之前UIWebView的JS交互,请点击下面的连接 [IOS开发攻略] - js与OC交互(二) (原生UIWebView) 开始今天的内容吧,事不宜迟 一、UIWebView的基础使用 - (

sheng_bin的博客 6893

【网络与爬虫 61】移动端App爬虫终极指南:Android-iOS应用数据提取黑科技全解析

本文全面解析移动端App爬虫技术,涵盖Android和iOS两大平台的数据提取方法。从基础的网络抓包到高级的代码注入,从自动化测试框架到反调试技术绕过,为开发者提供移动端数据采集的完整解决方案和实战经验。

熵数实验室 3022

数据仓库数据质量监控和处理方法最佳实践

指的是检查数据是否存在反常或者错误的情况,例如数值反常地过大或者过小,或者超过记录的波动值,对应的规则包括数值波动检查,最大值、最小值检查,跨表准确性等。指的是检查数据是否存在缺失的情况,这里的缺失可以是整个数据集的记录缺失,也可以是某个字段记录的缺失,对应的规则包括空值检查,表总行数检查。指的是检查数据是否符合规范,是否按照规定的格式存储,对应的规则包括正则表达式检查,字段长度检查,枚举集合检查,数值范围等。指的是检查哪些数据是重复数据或者数据的哪些属性是重复的,对应的规则例如主键唯一性检查。

大模型大数据攻城狮的专栏 894

【Web前端】JavaScript交互编程

1.与html控件交互。2.使用js改变css。3.js常见的触发事件。

wosixiaokeai的博客 389

RK3588 Buildroot 新建板级DTS

在rk3588 linux开发过程中,新创建板型主要基于硬件差异化、软件适配与优化、项目定制化等多方面需求。

501846585_QQAndroid_java 1298

UIWebView与JS的交互

UIWebView与JS的交互,说白了就是Objective-C和JavaScript的相互调用。Objective-C调用JavaScript代码的方法,是通过UIWebView的 - (NSString *)stringByEvaluatingJavaScriptFromString:(NSString *)script;的方法来实现的。该方法向UIWebView传递一段需要执行的JavaScr

Panwave的专栏 1454

STM32CubeMX之DAC产成正弦波

“在之前的文章中曾经介绍过用TIM产生PWM做DAC用,STM32定时器输出PWM做DAC。部分型号的STM32单片机内部有专用的DAC,本篇文章将介绍如何用内部DAC+DMA产生正弦波...

zhang062061的专栏 1513

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

iOS UIWebView 与 JavaScript (js)交互

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

仰望星空 1292

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

【iOS开发】UIWebView与JavaScript(JS) 回调交互

标签: javascript objective-c 交互 ios开发 uiwebview 分类: Xcode/iOS/MacOS很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样,参考:http://blog.sina.com.cn/s/blog_693de6100102vhuh.html本文提供了一个很好解决UIWebView...

dingxian0506的博客 190

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

UIWEBVIEW 与JS 如何回调交互

UIWebView是IOS SDK中渲染网面的控件,在显示网页的时候,我们可以hack网页然后显示想显示的内容。其中就要用到javascript的知识,而UIWebView与javascript交互的方法就是stringByEvaluatingJavaScriptFromString: 有了这个方法我们可以通过objc调用javascript,可以注入javascript。 首先我们来看一下,

编程路上的野花 1万+

UIWebView与JS交互

UIWebView与JS交互      UIWebView与页面的交互主要体现在两方面:使用ObjC方法进行JS页面操作、在页面中调用ObjC方法两部分。和其他移动操作系统不同,iOS中所有的交互都集中于一个stringByEvaluatingJavaScriptFromString:方法中,以此来简化开发过程。下面直接看代码:当访问百度搜索手机版时会发现,有时候点击页面中的某个元素可以调出iOS...

欢迎来到Jack的程序世界 567

UIWebView与JS的深度交互

事情的起因还是因为项目需求驱动。折腾了两天,由于之前没有UIWebView与JS交互的经历,并且觉得这次在功能上有一定的创造性,特此留下一点文字,方便日后回顾。 我要实现这样一个需求:按照本地的CSS文件展示一串网络获取的带HTML格式的只有body部分的文本,需要自己拼写完整的HTML。除此之外,还需要禁用获取的HTML文本中自带的 《 img 》 标签自动加载,并把下载图片的操作放在

SpeedBoy007的专栏 5826

IOS中UIWebView和JavaScript交互

本文主要介绍IOS中UIWebview与JS之间的交互过程。 博客地址:http://webfrogs.github.com/IOS/2012/11/02/webviewandjs/

ccf的专栏 1609

UIWebView与js(JavaScript)交互

最近开发的项目中用到了UIWebView和js的交互,在此总结一下,希望能够帮助到需要的同学。 首先描述一下需求,在商城(webView)的某一个界面,需要实现退换货时上传商品图片的功能,具体流程如下: 1.点击UIWebView上的一个按钮时弹出iOS中的UIActionSheet 2.调用相机或相册选择图片后上传图片至服务器 3.上传成功后调用html5的方法并将服务器返回的image

探路者的专栏 763

UIWebView与JavaScript(JS) 回调交互

很多关于objc 与 js 交互的文章都比较适用于 mac开发,iOS的webview 还是有所不一样, 参考:http://blog.sina.com.cn/s/blog_693de6100102vhuh.html 本文提供了一个很好解决UIWebView内js和objc 交互的思路。 自然,从oc到js,可以使用 stringByEvaluatingJavaScriptFromStrin

落天罐头的博客 441

UIWebView与JavaScript的交互

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

bailu1020的博客 157
上一篇: ios 启动其他程序
下一篇: iOS 与 pdf 交互
focusjava
博客等级 码龄14年 127粉丝 528原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值