Jascript OC交互

来源:互联网 发布:gif分解软件 编辑:程序博客网 时间:2024/05/20 06:26

这篇博文
主要讲述 在ios中 有一个非常重要的控件WebView
这个控件是用来直接加载网络数据 那我们加载这些网络数据 不可避免的需要对其上面的一些控件进行操作
一个网页是由这几部分构成的:
HTML – 负责页面元素的显示 按钮 输入框 链接
CSS(层叠样式表) – 负责页面元素的样式 长什么样子 阴影 下划线 高亮
JavaScript – 负责用户交互 以及数据请求 响应事件

每个部分用到各自的语言
我们取这些控件当然就需要和JavaScript 交互 下面几张截图分别表示了我们怎么拿到网页的内容 控件 并实现交互

拿到标题/网址
所有相同节点名
实现按钮自动跳转
id拿控件并赋值
关于通过id拿到控件 还有一个问题
有时候这个控件可能没有id 比如右边输入框没有id
这时候我们应该怎么取得这个输入框呢
我们可以通过最外面节点比如input取得一个节点数组
然后通过下标取得特定的控件

iOS调用JavaScript代码 :

view didloadself.webView.hidden=YES;view didfinishload    [self.webView stringByEvaluatingJavaScriptFromString:@"document.getElementsByClassName('share_mask js-share-mask')[0].style.display='none'"];    可以用dispatch_after    self.webView.hidden=NO;

达到隐藏某个控件的效果

UIScreenEdgePanGestureRecognizer *pan=[[UIScreenEdgePanGestureRecognizer alloc]initWithTarget:self action:@selector(back:)];    pan.edges=UIRectEdgeLeft;    [self.view addGestureRecognizer:pan];    添加界面左边和右边手势左边和右边手势   实现方法返回和到下一个界面-(void)back:(UIScreenEdgePanGestureRecognizer *)pan{    if ([self.webView canGoBack]) {        [self.webView goBack];    }    if ([self.webView canGoForward]) {        [self.webView goForward];    }}记得遵循UIWebViewDelegate协议  设置delegate哦

用WKwebView 需要包含WebKit 这个消耗内存比UIWebView少很多 用WKWebView好点

0 0
原创粉丝点击