1、浅谈 IOS 软件开发之 Objective-C 与 JavaScript 的交互UIWebView 是 iOS 最常用的 SDK 之一,它有一个 stringByEvaluatingJavaScriptFromString 方法可以将javascript 嵌入页面中,通过这个方法我们可以在 iOS 中与 UIWebView 中的网页元素交互。 UIWebView 是 iOS 最常用的 SDK 之一,它有一个stringByEvaluatingJavaScriptFromString 方法可以将 javascript 嵌入页面中,通过这个方法我们可以在 iOS 中与 UIWebView 中的网
2、页元素交互。stringByEvaluatingJavaScriptFromString使用 stringByEvaluatingJavaScriptFromString 方法,需要等 UIWebView 中的页面加载完成之后去调用。我们在界面上拖放一个 UIWebView 控件。在 Load 中将 google mobile 加载到这个控件中,代码如下:- ( void )viewDidLoadsuper viewDidLoad;webview.backgroundColor = UIColor clearColor; webview.scalesPageToFit = YES;webvie
3、w. delegate = self;NSURL * url = NSURL alloc initWithString: “ .hk/m?gl=CNNSURLRequest * request = NSURLRequest alloc initWithURL:url;webview loadRequest:request; 我们在 webViewDidFinishLoad 方法中就可以通过 javascript 操作界面元素了。1、获取当前页面的 url。- ( void )webViewDidFinishLoad:(UIWebView * )webView NSString * curren
4、tURL = webView stringByEvaluatingJavaScriptFromString: “ document.location.href “ ;2、获取页面 title:- ( void )webViewDidFinishLoad:(UIWebView * )webView NSString * currentURL = webView stringByEvaluatingJavaScriptFromString: “ document.location.href “ ;NSString * title = webview stringByEvaluatingJavaSc
5、riptFromString: “ document.title “ ; 3、修改界面元素的值。NSString * js_result = webView stringByEvaluatingJavaScriptFromString: “document.getElementsByName('q')0.value='朱祁林' “ ;4、表单提交:NSString * js_result2 = webView stringByEvaluatingJavaScriptFromString: “ document.forms0.submit(); “;这样就实现了在
6、 google 搜索关键字:“朱祁林”的功能。5、插入 js 代码上面的功能我们可以封装到一个 js 函数中,将这个函数插入到页面上执行,代码如下:webView stringByEvaluatingJavaScriptFromString: “ var script = document.createElement('script'); “ “ script.type = 'text/javascript' “ “ script.text = “function myFunction() “ “ var field = document.getElements
7、ByName('q')0; “ “ field.value='朱祁林' “ “ document.forms0.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 中的页面元素。以上文章由智游 3G 培训整理。