UIWebView與JavaScript常用交互代碼

最近打算換個(gè)工作環(huán)境,所以就沒(méi)怎么寫東西。面試中,被問(wèn)到一些在UIWebView和WKWebView中如何與JavaScript交互的問(wèn)題,索性在這里復(fù)習(xí)一下,有的都忘了。


CSS常用參數(shù):

是否允許用戶選擇元素的內(nèi)容,選擇值包括:
1.auto:用戶可以元素內(nèi)的內(nèi)容
2.none:用戶不能選擇任何內(nèi)容
3.text:用戶只能選擇元素內(nèi)的文本

常用語(yǔ)句:

1.禁用用戶選擇
[self.webView stringByEvaluatingJavaScriptFromString:@"document.documentElement.style.webkitUserSelect='none'"];

2.禁用長(zhǎng)按彈出框
[self.webView stringByEvaluaingJavaScriptFromString:@"document.documentElement.style.webkitTouchCallout='none'"];

3.獲得UIWebView的URL地址
NSString *currentURL = [webView stringByEvaluatingJavaScriptFromString:@"document.location.href"]; NSLog(@"currentURL == %@",currentURL);

4.獲得UIWebView的標(biāo)題
NSString *theTitle = [webView stringByEvaluatingJavaScriptFromString:@"document.title"]; NSLog(@"theTitle ==%@",theTitle);

5.通過(guò)name(獲得或設(shè)置)界面元素的value值
NSString *js_email_ByName = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementByName('email')[0].value='hello';"]; NSLog(@"js_email_ByName==%@",js_email_ByName); NSString *js_password_byName = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementByName('pwd')[0].value='hello';"]; NSString *js_phone_ByName = [webView stringByEvaluatingJavaScriptFromString:@"document.getElementByName('tel')[0].value='hello';"]; NSlog(@"js_phone_ByName==%@",js_phone_ByName);

6.通過(guò)id獲取與設(shè)置與上述類似
只是將@“”中的內(nèi)容換成document.getElementByIdx_x_x('phone自己替換').value='';

7.提交表單
NSString *js_forms = [webView stringByEvaluatingJavaScriptFromString:@"document.forms[0].submit();"]; NSLog(@"js_forms==%@",js_forms);

8.獲得body與body之間的HTML
NSString *allHTML = [webView stringByEvaluatingJavaScriptFromString:@"document.body.innerHTML"]; NSLog(@"allHTML:%@",allHTML);

9.使UIWebView的輸入框獲得焦點(diǎn),但是無(wú)法彈出iPhone鍵盤
[webView stringByEvaluatingJavaScriptFromString:@"document.querySelector('#saySome').focus()"]; [webView stringByEvaluatingJavaScript:@"document.getElementByIdx_x("saySome").scrollntoView("true")"];

10.改變webView尺寸時(shí)對(duì)應(yīng)改變web page尺寸
[webView stringByEvaluatingJavaScriptFromString:[NSString stringWithFormat:@"document.querySelector('meta[name=viewport]').setAttribute('content','width=%d;',false);"(int)webView.frame.size.width]];

先羅列這么多,后面再更新

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 通過(guò)接近N天的努力. 終于在今天.IOS下內(nèi)嵌HTML編輯器的Demo 基本實(shí)現(xiàn).學(xué)習(xí)過(guò)程中,參考了很多網(wǎng)上的資料...
    Hanfank閱讀 1,669評(píng)論 3 10
  • 一、簡(jiǎn)介 近兩年隨著HTML5的迅速發(fā)展與日趨成熟,越來(lái)越多的移動(dòng)開(kāi)發(fā)者選擇使用HTML5來(lái)進(jìn)行混合開(kāi)發(fā),不僅節(jié)約...
    RainyGY閱讀 2,003評(píng)論 1 12
  • 隨著H5技術(shù)的興起,在iOS開(kāi)發(fā)過(guò)程中,難免會(huì)遇到原生應(yīng)用需要和H5頁(yè)面交互的問(wèn)題。其中會(huì)涉及方法調(diào)用及參數(shù)傳值等...
    Chris_js閱讀 3,236評(píng)論 1 8
  • 一、簡(jiǎn)介 近兩年隨著HTML5的迅速發(fā)展與日趨成熟,越來(lái)越多的移動(dòng)開(kāi)發(fā)者選擇使用HTML5來(lái)進(jìn)行混合開(kāi)發(fā),不...
    寶寶teacher閱讀 2,450評(píng)論 3 15
  • 年的腳步又近了,回首那童年的的時(shí)光亦歡喜,亦翹首以盼,是饞流哈喇子的餓,年中的美食,那美美噠的新衣裳,掂著...
    全景欒川閱讀 146評(píng)論 0 0

友情鏈接更多精彩內(nèi)容