當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
JS和OC交互的简单应用
生活随笔
收集整理的這篇文章主要介紹了
JS和OC交互的简单应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
先簡單地說一下思路吧
- 需求:在App中嵌入一個webView,已經有了網址,但是需要去掉這個網頁中的一些內容
- 解決方案:取到webView要加載的網址,對這個網址對應的網頁信息進行修改
- 簡單描述:
<UIWebViewDelegate>
- 刪除的部分處理:獲取到相應的節點并執行刪除操作的語句寫法有三種方式:見http://www.w3school.com.cn/js/js_htmldom.asp
?
1 #import "JSHanledWebViewController.h" 2 3 //1.遵守協議 4 @interface JSHanledWebViewController ()<UIWebViewDelegate> 5 @property (weak, nonatomic) IBOutlet UIWebView *webView; 6 7 @end 8 9 @implementation JSHanledWebViewController 10 11 - (void)viewDidLoad { 12 [super viewDidLoad]; 13 14 //2.設置代理 15 self.webView.delegate = self; 16 [self loadWebView]; 17 18 } 19 20 #pragma mark - 加載webView 21 - (void)loadWebView{ 22 23 [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.dianping.com/tuan/deal/66666"]]]; 24 //關閉webView的彈簧效果 25 self.webView.scrollView.bounces = NO; 26 //隱藏滾動條 27 self.webView.scrollView.showsVerticalScrollIndicator = NO; 28 29 30 } 31 32 //3.實現相應代理方法 33 #pragma mark - Sent after a web view finishes loading a frame. 34 - (void)webViewDidFinishLoad:(UIWebView *)webView{ 35 36 NSMutableString *jsStrM = [NSMutableString string]; 37 38 //參考w3c: http://www.w3school.com.cn/js/js_htmldom.asp 39 //注意取出來的是個數組,注意指定下標 40 //取到頂部的導航欄 41 [jsStrM appendString:@"var header = document.getElementsByTagName('header')[0];"]; 42 [jsStrM appendString:@"header.parentNode.removeChild(header);"]; 43 44 //取到網頁輪播器下的 立即購買 45 [jsStrM appendString:@"var costBox = document.getElementsByClassName('cost-box')[0];"]; 46 [jsStrM appendString:@"costBox.parentNode.removeChild(costBox);"]; 47 48 //取到灰色的立即購買 49 [jsStrM appendString:@"var buy = document.getElementsByClassName('buy-now btn-gray')[0];"]; 50 [jsStrM appendString:@"buy.parentNode.removeChild(buy);"]; 51 52 //取到底部的首頁 點評團... 53 [jsStrM appendString:@"var footer = document.getElementsByClassName('footer')[0];"]; 54 [jsStrM appendString:@"footer.parentNode.removeChild(footer);"]; 55 56 //取到黃色的立即購買按鈕 57 [jsStrM appendString:@"var footerBtn = document.getElementsByClassName('footer-btn-fix')[0];"]; 58 [jsStrM appendString:@"footerBtn.parentNode.removeChild(footerBtn);"]; 59 60 //The stringByEvaluatingJavaScriptFromString: method waits synchronously for JavaScript evaluation to complete. 61 [webView stringByEvaluatingJavaScriptFromString:jsStrM]; 62 63 64 } 65 66 @end?
- 最終的效果如下所示?
如有問題,敬請指正!
轉載于:https://www.cnblogs.com/ITCoderW/p/6181719.html
總結
以上是生活随笔為你收集整理的JS和OC交互的简单应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: mysql备份到远程服务器脚本
- 下一篇: 在Linux上使用Nginx为Solr集