美文网首页
WebView加载页面时隐藏页面内的某一个标签

WebView加载页面时隐藏页面内的某一个标签

作者: LLyan | 来源:发表于2018-10-18 15:36 被阅读0次

通过getElementById()、getElementByTagName()、getElementByClassName()获取标签

1、通过修改display实现隐藏

 [webView stringByEvaluatingJavaScriptFromString:@"document.getElementByClassName('xxx').style.display = 'none';"];

 注: 这里有一个问题,就是这一句必须在webview完全加载完成之后插入,特别是有外边的js设置display的时候,更需要注意插入的时机,如果只是单纯在webViewDidFinishLoad里插入的话,可能实现不了想要的效果,因为webview执行到这里时,并不一定完全加载完成了,所以注时还会被没有加载完成的js覆盖,而且插入成功后,在webview重新加载之后,还会被覆盖而达不到想要隐藏的效果。

2、通过css实现隐藏

 [webView stringByEvaluatingJavaScriptFromString: @"var tagHead =document.documentElement.firstChild;" "var tagStyle = document.createElement(\"style\");" "tagStyle.setAttribute(\"type\", \"text/css\");" "tagStyle.appendChild(document.createTextNode(\"#header{height: 0pt; visibility:hidden;}\"));" "var tagHeadAdd = tagHead.appendChild(tagStyle);"]; 

注: 这里通过添加一个新的width、height的样式,并将标签内容隐藏以实现效果,但并没有实现真正的隐藏,只是把宽、高设置为0,而标签还在页面上,好处就是不需要注意js的插入时机,只要在webViewDidFinishLoad调用就可以了,也不会出现被覆盖的情况;

webview加载状态:

a、uninitialized : 还没开始加载

b、loading : 加载中

c、loaded : 加载完成

d、interactive : 结束渲染,用户已经可以与网页进行交互。但内嵌资源还在加载中

e、complete : 完全加载完成

WebViewDidFinishLoad 被调用时,readyState 可能处在 interactive 和 complete 两种状态。当我们需要对网页中的元素进行修改时,最好在 complete 状态进行,不然我们的修改可能被重置。 [wwjWebViewstringByEvaluatingJavaScriptFromString:@"document.readyState"] 通过这句可以通过js获取webview不同的加载状态。

相关文章

  • WebView加载页面时隐藏页面内的某一个标签

    通过getElementById()、getElementByTagName()、getElementByClas...

  • 微信小程序跳转h5页面传参

    1新建webview页面 需要跳转的页面内 2.webview页面内 webview.html文件 webview...

  • WKWebView一些坑点收录

    iOS12.2及以上,同一个webView先加载直联页面,再加载本地页面时页面会白屏。解决方案:加载本地页面前先加...

  • H5与Android互调

    1. WebView加载页面 webview可以加载本地和网络页面,根据html的文件位置,有不同的写法. mWe...

  • Android webview和H5交互

    1. WebView加载页面 webview可以加载本地和网络页面,根据html的文件位置,有不同的写法. 通常情...

  • 2018-03-11

    WebView缓存 Android WebView缓存可以分为页面缓存和数据缓存页面缓存是指加载一个网页时htm...

  • javascript性能优化

    优化页面加载时间html标签加载顺序浏览器加载和执行script标签引入的js时,会暂停页面渲染,直到代码加载并执...

  • Android webview返回上一级页面

    项目中webview加载了页面,点击还能进入下一级页面,返回时,判断web是否可以返回,可以则调用webView....

  • 【总结】2016.12.20

    计划的任务 黑xx 页面带标签的加载更多页面逻辑 黑xx 页面加载页面的模板参数对接 实际完成 黑xx 页面带标签...

  • WKWebView

    // 页面开始加载时调用- (void)webView:(WKWebView *)webView didStart...

网友评论

      本文标题:WebView加载页面时隐藏页面内的某一个标签

      本文链接:https://www.haomeiwen.com/subject/lgcszftx.html