在颤动中从webview中删除html元素
Posted
技术标签:
【中文标题】在颤动中从webview中删除html元素【英文标题】:Deleting html element from webview in flutter 【发布时间】:2020-04-21 03:24:52 【问题描述】:我尝试动态移除元素,但移除的元素仍显示在屏幕上,并在单击元素时被移除。
这是我使用的代码
onPageFinished: (url)
removeAds(url);
,
void removeAds(String url)
print("asdjkhjahsdk");
//_controller.loadUrl('javascript: var ad= document.getElementById("_b04pct_2709847"); ad.parentNode.removeChild(ad);');
_controller.evaluateJavascript('var ad= document.getElementById("_b04pct_2709847"); ad.parentNode.removeChild(ad);');
【问题讨论】:
【参考方案1】:试试这个!
evaluateJavascript("document.getElementsByClassName('_b04pct_2709847')[0].style.display='none';");
我猜你忘记了“[0]”。我尝试在加载页面之前隐藏元素。你成功了吗?
【讨论】:
OP 使用getElementById
,与 getElementsByClassName
不同,它返回单个元素,因此不会忘记 [0]
。【参考方案2】:
evaluateJavascript("document.getElementById('_b04pct_2709847').style.display='none';")
【讨论】:
没有任何改变。可能是因为元素是动态创建的 那么你能通过其他属性定位元素吗?类、标签等?以上是关于在颤动中从webview中删除html元素的主要内容,如果未能解决你的问题,请参考以下文章