【问题标题】:Using JS in Swift to hide WKWebView collection elements在 Swift 中使用 JS 隐藏 WKWebView 集合元素
【发布时间】:2019-01-28 20:51:38
【问题描述】:

我有一个已加载到 WKWebView 中的网站。我想隐藏这个网站的标题,以便我可以使用我在情节提要中构建的本机标题。 header 元素只能由类引用(即“header-layout-bar”)。

我一直使用此代码作为参考以隐藏标题。

func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
    print("finishload")
    let element = "header-layout-bar"
    let removeElementScript = "var element = document.getElementsByClassName('\(element)'); element.parentElement.removeChild(element); console.log(element);"
    webView.evaluateJavaScript(removeElementScript) { (response, error) in
        debugPrint("Am here")
    }
}

当我在控制台中打印出元素以查看它是否已被选中时,它会打印一个空的 HTML 集合数组。以这种方式删除它不会隐藏它。

我在这个主题上尝试了几种变体都无济于事(例如,使用 getElementsByTagName 选择它)。

没有任何作用。有人可以提供解决方案吗?

【问题讨论】:

    标签: javascript ios swift


    【解决方案1】:

    你可以尝试用 css 隐藏它:

    let removeElementScript = "document.querySelector('.header-layout-bar').style.display='none';"
    webView.evaluateJavaScript(removeElementScript) { (response, error) in
        debugPrint("Am here")
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多