【发布时间】:2021-03-04 09:03:13
【问题描述】:
我无法在 webview 中加载包含带有“#”哈希码的超链接的数据的内容。如下所示。
<a href="https://safetravel.changiairport.com/#/">here</a>
完整的网页内容是here。
我是这样加载 webview 的。
binding.webView.loadData(
getHtmlData(viewModel.blogPost.get()!!.formatContentData()),
"text/html",
"UTF-8")
@Parcelize
data class BlogPost(
val title: String,
... remove for brebity
) : Parcelable {
fun formatContentData(): String {
val justifyTag = "<html><body style='text-align:justify;'>%s</body></html>"
content?.let {
var data = it.replace("<", "<").replace(">", ">")
val tagList = arrayOf("flightnode", "hotelnode ", "packagenode")
for (tag in tagList) {
val patternString = "(?is)<$tag[^>]+>.*?<\\/$tag>"
val pattern = Pattern.compile(patternString)
val matcher = pattern.matcher(data)
println("\n\n" + matcher.find())
data = matcher.replaceAll("")
}
return java.lang.String.format(Locale.US, justifyTag, data)
}
return ""
}
}
如有任何帮助,我们将不胜感激。
【问题讨论】: