【问题标题】:Deleting html element from webview in flutter在颤动中从webview中删除html元素
【发布时间】: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);');

  }

【问题讨论】:

    标签: flutter webview android-webview flutterwebviewplugin


    【解决方案1】:

    试试这个!

    evaluateJavascript("document.getElementsByClassName('_b04pct_2709847')[0].style.display='none';");
    

    我猜你忘记了“[0]”。我尝试在加载页面之前隐藏元素。你成功了吗?

    【讨论】:

    • OP 使用 getElementById,与 getElementsByClassName 不同,它返回单个元素,因此不会忘记 [0]
    【解决方案2】:

    evaluateJavascript("document.getElementById('_b04pct_2709847').style.display='none';")

    【讨论】:

    • 没有任何改变。可能是因为元素是动态创建的
    • 那么你能通过其他属性定位元素吗?类、标签等?
    猜你喜欢
    • 2018-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-01
    • 2021-10-02
    • 2015-10-13
    • 1970-01-01
    • 2015-04-28
    • 1970-01-01
    相关资源
    最近更新 更多