關(guān)于WKWebView刪除網(wǎng)頁中某些控件的方法

在做混合應(yīng)用的時候經(jīng)常會遇到加載網(wǎng)頁的問題

但是有的時候網(wǎng)頁并不一定能完全達到我們的要求好渠,甚至有時候我們會用到其他平臺的網(wǎng)頁作為外鏈,但如果直接使用別人的網(wǎng)址力奋,很難符合APP的要求凡资。這個時候就有必要過濾掉其中一些東西了。

達到這個要求的方法還是比較多的:比如說再加載網(wǎng)頁之前注入一些JS方法

WKUserScript *getUserScript = [[WKUserScriptalloc]initWithSource:[NSStringstringWithFormat:@"function hideInput() {var x = document.getElementsByTagName('input');x[0].remove();}"]injectionTime:WKUserScriptInjectionTimeAtDocumentStartforMainFrameOnly:NO];

甚至可以使用網(wǎng)絡(luò)請求道HTML之后用正則過濾掉一些內(nèi)容再顯示冗懦,不過WKWebView提供了一個非常方便的方法那就是evaluateJavaScript方法爽冕,比如說這樣

[webViewevaluateJavaScript:@"document.getElementsByClassName('zx-head-in')[0].remove();document.getElementsByClassName('footer')[0].remove();document.getElementsByClassName('detail-bg mt10 comment')[0].remove();document.getElementsByClassName('detail-bg mt10')[0].remove();document.getElementsByClassName('da-box daBox responsive ui-border-tb')[0].remove();document.getElementsByClassName('ui-share2')[0].remove();document.getElementsByClassName('ui-border-tb prl15')[0].remove();"completionHandler:^(idevaluate,NSError* error) {NSLog(@"---%@",error.domain);}];

這樣使用還有一些不足的地方,因為移除控件有一個動畫披蕉,會出現(xiàn)一閃而過的移除的動畫颈畸,體驗不太好∠В可以在WKWebView加載內(nèi)容之前先進行隱藏承冰,然后在block中顯示,并且顯示的時候要做一個0.5m以上的延時食零,如下

dispatch_time_tdelayTime =dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5/*延遲執(zhí)行時間*/*NSEC_PER_SEC));

dispatch_after(delayTime,dispatch_get_main_queue(), ^{

_webViews.hidden=NO;

});

OK困乒,完成。

當然WKUserScript有WKUserScript的好處贰谣,比如說用WKWebView加載一個登錄網(wǎng)頁的時候娜搂,為了想獲得登錄賬號,就可以這樣使用WKUserScript*getUserScript = [[WKUserScriptalloc]initWithSource:[NSStringstringWithFormat:@"function getUser() {var x = document.getElementsByTagName('input');return x[0].value;}"]injectionTime:WKUserScriptInjectionTimeAtDocumentStartforMainFrameOnly:NO];

然后在給手機鍵盤添加監(jiān)聽方法吱抚,每次鍵盤隱藏的時候就調(diào)用getUser方法得到返回結(jié)果百宇。當然,在登錄成功跳轉(zhuǎn)的時候去調(diào)用該方法也是可以的秘豹。具體的JS代碼就要看具體的H5代碼了携御。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市既绕,隨后出現(xiàn)的幾起案子啄刹,更是在濱河造成了極大的恐慌,老刑警劉巖凄贩,帶你破解...
    沈念sama閱讀 222,729評論 6 517
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件誓军,死亡現(xiàn)場離奇詭異,居然都是意外死亡疲扎,警方通過查閱死者的電腦和手機昵时,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,226評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來椒丧,“玉大人壹甥,你說我怎么就攤上這事」贤欤” “怎么了疯特?”我有些...
    開封第一講書人閱讀 169,461評論 0 362
  • 文/不壞的土叔 我叫張陵次企,是天一觀的道長迅耘。 經(jīng)常有香客問我雏搂,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 60,135評論 1 300
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上渤弛,老公的妹妹穿的比我還像新娘。我一直安慰自己甚带,他們只是感情好她肯,可當我...
    茶點故事閱讀 69,130評論 6 398
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著鹰贵,像睡著了一般晴氨。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上碉输,一...
    開封第一講書人閱讀 52,736評論 1 312
  • 那天籽前,我揣著相機與錄音,去河邊找鬼敷钾。 笑死枝哄,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的阻荒。 我是一名探鬼主播挠锥,決...
    沈念sama閱讀 41,179評論 3 422
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侨赡!你這毒婦竟也來了蓖租?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 40,124評論 0 277
  • 序言:老撾萬榮一對情侶失蹤羊壹,失蹤者是張志新(化名)和其女友劉穎菜秦,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體舶掖,經(jīng)...
    沈念sama閱讀 46,657評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,723評論 3 342
  • 正文 我和宋清朗相戀三年尔店,在試婚紗的時候發(fā)現(xiàn)自己被綠了眨攘。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,872評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡嚣州,死狀恐怖鲫售,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情该肴,我是刑警寧澤情竹,帶...
    沈念sama閱讀 36,533評論 5 351
  • 正文 年R本政府宣布,位于F島的核電站匀哄,受9級特大地震影響秦效,放射性物質(zhì)發(fā)生泄漏雏蛮。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 42,213評論 3 336
  • 文/蒙蒙 一阱州、第九天 我趴在偏房一處隱蔽的房頂上張望挑秉。 院中可真熱鬧,春花似錦苔货、人聲如沸犀概。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,700評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽姻灶。三九已至,卻和暖如春诈茧,著一層夾襖步出監(jiān)牢的瞬間产喉,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,819評論 1 274
  • 我被黑心中介騙來泰國打工若皱, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留镊叁,地道東北人。 一個月前我還...
    沈念sama閱讀 49,304評論 3 379
  • 正文 我出身青樓走触,卻偏偏與公主長得像晦譬,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子互广,可洞房花燭夜當晚...
    茶點故事閱讀 45,876評論 2 361

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

  • iOS 的 Cookie 存取 https://juejin.im/entry/58d4c4cc44d904006...
    Farmers閱讀 5,944評論 0 16
  • 前言 關(guān)于UIWebView的介紹敛腌,相信看過上文的小伙伴們,已經(jīng)大概清楚了吧惫皱,如果有問題像樊,歡迎提問。 本文是本系列...
    CoderLF閱讀 8,974評論 2 12
  • http://www.cnblogs.com/mddblog/p/5281748.html 一旅敷、整體介紹 UIWe...
    F麥子閱讀 1,236評論 0 2
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理生棍,服務(wù)發(fā)現(xiàn),斷路器媳谁,智...
    卡卡羅2017閱讀 134,716評論 18 139
  • 上午6點3分涂滴,體重62.36 早上罪惡了,不過很幸福晴音,早上吃了鴨血餛燉柔纵,又要了一個奧爾良漢堡,不過吃完之后我在琴房...
    奻郗閱讀 211評論 0 0