iOS--JS

UIWebView是iOS最常用的8SDK之一甚负,它有一個stringByEvaluatingJavaScriptFromString方法可以將javascript嵌入頁面中喉恋,通過這個方法我們可以在iOS中與UIWebView中的網(wǎng)頁元素交互。
使用stringByEvaluatingJavaScriptFromString方法棠隐,需要等UIWebView中的頁面加載完成之后去調(diào)用石抡。我們在界面上拖放一個UIWebView控件。在Load中將google mobile加載到這個控件中助泽,代碼如下:

[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];

1啰扛、獲取當前頁面的url嚎京。

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

2、獲取頁面title:

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

CGPoint pt = [tap locationInView:newsWebView];//函數(shù)返回一個CGPoint類型的值隐解,表示觸摸在view這個視圖上的位置鞍帝,
                //這里返回的位置是針對view的坐標系的。調(diào)用時傳入的view參數(shù)為空的話煞茫,返回的時觸摸點在整個窗口的位置帕涌。
NSString *imgURL = [NSString stringWithFormat:@"document.elementFromPoint(%f, %f).src", pt.x, pt.y];
//判斷點擊到的是否是圖片,可設(shè)置特殊的url续徽,
NSString *urlToSave = [newsWebView stringByEvaluatingJavaScriptFromString:imgURL];
//獲取當前頁面的URL                                                                             
//獲取當前頁面的高度
NSString *height_str= [newsWebView stringByEvaluatingJavaScriptFromString: @"document.body.offsetHeight"];


// 禁止用戶選擇
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none';"];
// 禁止用戶長按彈出彈出框
[webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none';"];

iOS7之后蚓曼,關(guān)于JavaScriptCore,
JSContext, JSContext是代表JS的執(zhí)行環(huán)境钦扭,通過-evaluateScript:方法就可以執(zhí)行一JS代碼
JSValue, JSValue封裝了JS與ObjC中的對應(yīng)的類型纫版,以及調(diào)用JS的API等
JSExport, JSExport是一個協(xié)議,遵守此協(xié)議客情,就可以定義我們自己的協(xié)議其弊,在協(xié)議中聲明的API都會在JS中暴露出來,才能調(diào)用

參考資料:(伯樂在線)http://ios.jobbole.com/83945/
(gitbook)https://www.gitbook.com/book/liuduo1988/ios/details

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末裹匙,一起剝皮案震驚了整個濱河市瑞凑,隨后出現(xiàn)的幾起案子末秃,更是在濱河造成了極大的恐慌概页,老刑警劉巖,帶你破解...
    沈念sama閱讀 207,248評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件练慕,死亡現(xiàn)場離奇詭異惰匙,居然都是意外死亡,警方通過查閱死者的電腦和手機铃将,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,681評論 2 381
  • 文/潘曉璐 我一進店門项鬼,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人劲阎,你說我怎么就攤上這事绘盟。” “怎么了悯仙?”我有些...
    開封第一講書人閱讀 153,443評論 0 344
  • 文/不壞的土叔 我叫張陵龄毡,是天一觀的道長。 經(jīng)常有香客問我锡垄,道長沦零,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,475評論 1 279
  • 正文 為了忘掉前任货岭,我火速辦了婚禮路操,結(jié)果婚禮上疾渴,老公的妹妹穿的比我還像新娘。我一直安慰自己屯仗,他們只是感情好搞坝,可當我...
    茶點故事閱讀 64,458評論 5 374
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著魁袜,像睡著了一般瞄沙。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上慌核,一...
    開封第一講書人閱讀 49,185評論 1 284
  • 那天距境,我揣著相機與錄音,去河邊找鬼垮卓。 笑死垫桂,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的粟按。 我是一名探鬼主播诬滩,決...
    沈念sama閱讀 38,451評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼灭将!你這毒婦竟也來了疼鸟?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,112評論 0 261
  • 序言:老撾萬榮一對情侶失蹤庙曙,失蹤者是張志新(化名)和其女友劉穎空镜,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體捌朴,經(jīng)...
    沈念sama閱讀 43,609評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡吴攒,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,083評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了砂蔽。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片洼怔。...
    茶點故事閱讀 38,163評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖左驾,靈堂內(nèi)的尸體忽然破棺而出镣隶,到底是詐尸還是另有隱情,我是刑警寧澤诡右,帶...
    沈念sama閱讀 33,803評論 4 323
  • 正文 年R本政府宣布安岂,位于F島的核電站,受9級特大地震影響稻爬,放射性物質(zhì)發(fā)生泄漏嗜闻。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,357評論 3 307
  • 文/蒙蒙 一桅锄、第九天 我趴在偏房一處隱蔽的房頂上張望琉雳。 院中可真熱鬧样眠,春花似錦、人聲如沸翠肘。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,357評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽束倍。三九已至被丧,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間绪妹,已是汗流浹背甥桂。 一陣腳步聲響...
    開封第一講書人閱讀 31,590評論 1 261
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留邮旷,地道東北人黄选。 一個月前我還...
    沈念sama閱讀 45,636評論 2 355
  • 正文 我出身青樓,卻偏偏與公主長得像婶肩,于是被迫代替她去往敵國和親办陷。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,925評論 2 344

推薦閱讀更多精彩內(nèi)容

  • 隨著H5技術(shù)的興起律歼,在iOS開發(fā)過程中民镜,難免會遇到原生應(yīng)用需要和H5頁面交互的問題。其中會涉及方法調(diào)用及參數(shù)傳值等...
    Chris_js閱讀 3,060評論 1 8
  • JS與Native交互险毁,常用的有三種方式: 第一種制圈,也是最簡單,攔截協(xié)議辱揭,適配各種版本第二種离唐,比較高級一點的,JS...
    趕往15號線閱讀 2,836評論 1 10
  • 跟原生開發(fā)相比问窃,H5的開發(fā)相對來一個成熟的框架和團隊來講在開發(fā)速度和開發(fā)效率上有著比原生很大的優(yōu)勢,至少不用等待審...
    大沖哥閱讀 1,828評論 0 7
  • iOS開發(fā)免不了要與UIWebView打交道完沪,然后就要涉及到JS與原生OC交互域庇,今天總結(jié)一下JS與原生OC交互的兩...
    德山_閱讀 675評論 0 1
  • 大學(xué)里的三種人 原創(chuàng) 2017-1-11 大咩 木石姑娘花自開 三種極端 有的人有夢想并付出了同等的努力听皿,在外人眼...
    咩的一聲羊叫閱讀 641評論 0 3