日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 前端技术 > javascript >内容正文

javascript

iOS开发之Objective-C与JavaScript的交互

發布時間:2023/12/15 javascript 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 iOS开发之Objective-C与JavaScript的交互 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

? 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中的頁面元素。

?












本文轉自麒麟博客園博客,原文鏈接:http://www.cnblogs.com/zhuqil/archive/2011/08/03/2126562.html,如需轉載請自行聯系原作者

總結

以上是生活随笔為你收集整理的iOS开发之Objective-C与JavaScript的交互的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。