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中使用`UIWebView`加载bundle内的HTML文件,并实现WebView与JavaScript的交互。 首先,我们需要了解`UIWebView`的基本用法。`UIWebView`是一个视图类,可以显示和加载网页内容。我们...
本篇将深入探讨iOS与JavaScript交互的机制、方法以及实际应用场景。 首先,我们要理解的是,iOS原生应用主要由Objective-C或Swift编写,而JavaScript则作为Web前端的主要语言。为了实现两者之间的通信,我们需要一...
在iOS应用开发中,与JavaScript交互是一个常见的需求,特别是在构建混合型应用或者需要在原生应用内嵌入网页内容时。本知识点主要聚焦于如何在iOS应用中利用UIWebView组件来实现JavaScript与Objective-C(简称Oc)...
在移动应用开发中,iOS与H5页面的交互是一个重要的技术环节,特别是在混合式应用开发中,这种交互机制显得尤为关键。本主题将详细讲解如何实现iOS与H5页面之间的事件拦截和实时通信。 首先,iOS与H5交互的基础是...
在iOS开发中,UIWebView是苹果提供的一种原生控件,用于在应用内展示网页内容。这个"UIWebView与...通过理解并实践UIWebView的JavaScript交互机制,开发者可以创建出既具有Web动态性又具备原生应用性能的iOS应用。
总结一下,iOS与JavaScript交互的三种主要方式包括: 1. UIWebView:旧的解决方案,性能较低,但简单易用。 2. WKWebView:现代的选择,性能优越,安全性更高,支持更复杂的交互。 3. JavaScriptCore:提供底层...
以下将详细阐述iOS Webview与JavaScript交互的核心概念、实现方式以及相关知识点。 1. **基本概念:** - **UIWebView**:苹果提供的原生组件,可以加载HTML、CSS和JavaScript内容,构建一个在iOS应用内部运行的Web...
本教程将详细探讨iOS中的Web与JavaScript交互的四种方法,以帮助开发者更好地理解和利用这一特性。 首先,我们要知道`UIWebView`和`WKWebView`是iOS中用于加载和展示网页内容的组件。`UIWebView`是早期的选项,而`...
2. **iOS与JavaScript交互** - `- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType`代理方法用于拦截网页的加载...
与JavaScript交互时,必须确保安全,避免恶意代码的注入。对于接收的数据,应进行验证和清理,避免XSS(跨站脚本攻击)。 7. **性能优化** 使用WKWebView代替UIWebView可以获得更好的性能和内存管理。另外,合理...
总的来说,“ios-webView与js的交互.zip”这份资料涵盖了WebView与JavaScript交互的基础知识,包括UIWebView和WKWebView的使用,以及如何通过用户内容控制器进行消息传递。通过学习这些内容,开发者可以更好地在iOS...
下面我们将详细讨论如何使用`WebViewJavascriptBridge`来实现iOS与H5的交互。 首先,`WebViewJavascriptBridge`的核心功能是建立一个桥梁,让Objective-C或Swift代码能够调用JavaScript函数,并且JavaScript也能...
在iOS开发中,JavaScript引擎是实现与JavaScript交互的关键技术,特别是在构建混合应用或者需要在原生应用中执行JavaScript代码的场景。本项目“iOS javascript engine demo project”专注于演示如何在iOS应用中集成...
ios7之后,ios中加入了JavaScriptCore框架。该框架让Objective-C和JavaScript代码直接的交互变得更加的简单方便。ios 原生与js交互,demo代码,其中包括利用JSBinding简单使用!
在iOS开发中,有时我们需要将原生应用的功能与网页(H5)进行深度融合,这就涉及到iOS与H5界面之间的JSBridge交互。这个"iOS与H5界面JSBridge交互Demo"提供了一个直观且易于理解的实例,帮助开发者快速掌握两者间的...
总的来说,这个主题涵盖了iOS原生应用中集成H5页面的关键技术,包括WebView的使用、JavaScript与OC的通信机制,以及实际交互的实现细节。通过深入理解和实践这些知识点,开发者可以构建出既美观又功能强大的混合式...
`ios-HTML与原生界面交互.zip`中的资源,特别是`WebViewJavascriptBridgeDemo`,是一个典型的示例,用于演示如何在iOS应用中使用WebView与JavaScript进行通信。 首先,我们要理解什么是WebView。WebView是iOS SDK中...
10. **实践案例**: "js与iOS交互.zip"可能包含实际的代码示例,展示如何在iOS应用中集成JavaScript代码,以及如何处理复杂的交互场景。 这个资料包将帮助开发者深入理解如何在iOS应用中有效地使用JavaScript,实现...
两者都提供了与JavaScript交互的API。 对于UIWebView,主要使用`stringByEvaluatingJavaScriptFromString:`方法执行JavaScript代码,并通过代理方法`webView:didFinishLoad:`来判断页面是否加载完成。例如,你可以...
3. **与JavaScript交互**: 使用`evaluateJavaScript`方法可以执行JavaScript代码,并获取其结果。例如,如果想要获取某个DOM元素的值,可以这样操作: ```swift let script = "document.getElementById('...