UIWebView是iOS中最常用的SDK之一,它有一个stringByEvaluatingJavaScriptFromString方法,可以将javascript嵌入页面中,通过这个方法我们可以在iOS中与UIWebView中的网页元素交互。
使用stringByEvaluatingJavaScriptFromString方法,需要等UIWebView中的页面加载完成之后去调用。我们在界面上拖放一个UIWebView控件。在viewDidLoad中将google加载到这个控件中,代码如下:
- (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];
[url release];
[webview loadRequest:request];
[request release];
}
在webViewDidFinishLoad方法中通过javascript操作界面元素:
- (void) webViewDidFinishLoad:(UIWebView *)webView{
[webView stringByEvaluatingJavaScriptFromString:@"var script = document.createElement('script');"
"script.type = 'text/javascript';"
"script.text = \"function searchFunction() { "
"var field = document.getElementsByName('q')[0];"
"field.value='高海峰';"
"document.forms[0].submit();"
"}\";"
"document.getElementsByTagName('head')[0].appendChild(script);"];
[webView stringByEvaluatingJavaScriptFromString:@"searchFunction();"];
}
1、首先创建一个script的标签,type为text/javascript。
2、然后在这个标签中插入一段字符串,这段字符串就是一个函数:searchFunction,这个函数实现google自动搜索关键字的功能。
3、然后使用stringByEvaluatingJavaScriptFromString执行searchFunction函数。
分享到:
相关推荐
IOS加载bundle里的html并实现WebView与JavaScript的交互
iOS开发中使用UIWebView与JavaScript交互的相关代码,js调用Oc,Oc调用js……
ios7之后,ios中加入了JavaScriptCore框架。该框架让Objective-C和JavaScript代码直接的交互变得更加的简单方便。ios 原生与js交互,demo代码,其中包括利用JSBinding简单使用!
一个简单的demo实现了对html页面上简单事件的响应,但是没有实现获取输入的值
IOS下 内嵌 HTML编辑器 Objective-C与JavaScript数据交互
JavaScript 与 iOS 交互 ,采用iOS 7之后 自带 JavaScriptCore实现 ,使用简单无需第三方库 Demo地址:https://github.com/GesanTung/JS2iOS
ObjC与JavaScript超简单互调 github:https://github.com/changjianfeishui/XBWebBridge 个人blog:coderzhang.xyz
几个webview与javascript交互的例子,外部跳转用的也是这样的方法
JavaScriptTalkNativeEasy 是一个iOS平台用于Obj-C和JavaScript交互的库,此库是基于 Apple 的JavaScriptCore 、 WebKit 、 runtime进行封装的。
note-on-iOS-work-with-JavaScriptiOS 和 JavaScript 交互的几种方式 demo, 相关 Blog Post:
CTJSBridge, 用于iOS应用程序与h5网络视图交互的javascript桥 CTJSBridge用于iOS应用程序与h5网络视图交互的javascript桥演示演示for native:git clone git@github.com:casatwy/CTJSBridge.gito
这个demo主要实现了OC页面传值到js页面,并修改html 页面的值,同时实现了html 页面的数据传递到 OC页面,很经典的哦
主要介绍了IOS OC与js交互详解及实现代码的相关资料,需要的朋友可以参考下
学习如何使用WebViewJavascriptBridge,配有详细的使用教程,讲基本实现原理及如何在JS端、iOS端接入 WebViewJavascriptBridge是支持到iOS6之前的版本的,用于支持native的iOS与javascript交互。如果需要支持到iOS6...
由于Xcode8发布之后,编译器开始不支持iOS 7了,这样我们的app也改为最低支持iOS 8.0,既然需要与web交互,那自然也就选择使用了 iOS 8.0之后 才推出的新控件 WKWebView. 相比与 UIWebView, WKWebView 存在很多优势...
作者CoderJackyHuang,源码WebViewJavascriptBridgeDemo,WebViewJavascriptBridge是支持到iOS6之前的版本的,用于支持native的iOS与javascript交互。如果需要支持到iOS6之前的app,使用它是很不错的。本篇讲讲...
Swift是一种由苹果公司开发的现代化编程语言,专门用于iOS、macOS、watchOS和tvOS应用程序开发。...6. **适合移动应用开发**:Swift是苹果平台的官方编程语言,与iOS、macOS等系统深度集成,可以方便地开发应
这本书可能会介绍如何设置开发环境、构建基本的iOS应用程序界面、处理用户交互、调用设备功能等方面的内容。它可能会通过实际示例和项目来演示如何使用HTML和JavaScript来开发iOS应用程序,并解释一些常见的开发任务...