gpt4 book ai didi

java - 从 evaluateJavascript getElementById 返回的字符串带有斜杠和引号

转载 作者:行者123 更新时间:2023-11-29 23:22:59 75 4
gpt4 key购买 nike

我对从 evaluateJavascriptgetElementById 返回的字符串有问题,其中返回的字符串使用斜线和引号格式化。

例如,我的 webview 中有一个元素,其 Iduser_id_firebase,就像这样

<div style="display: none" id="user_id_firebase">active|12345</div>

所以在我的 getElementById 中,我正在检索 innerHTML 并且应该返回并加载到我的 firebase 的是 active|12345

我得到的是这个

"\"active|20321\"

最后,我用 | 拆分字符串并分隔这些值,但初始 html 字符串返回时格式奇怪,带有斜杠和引号。

谁能解释为什么会这样?

webView.evaluateJavascript(
"(function() { return (document.getElementById('user_id_firebase').innerHTML); })();",
new ValueCallback<String>() {
@Override
public void onReceiveValue(String html) {
String currentString = html;
String[] separated = currentString.split("|");
// Write a message to the database
FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("message");

myRef.setValue(html);
}
});

最佳答案

我之前遇到过同样的问题。当我们调用 evaluateJavascript 时,它会将脚本的结果作为 JS 对象返回,字符串数据由双引号包裹的字符串携带。但是,斜杠字符用于转义双引号,您可以使用以下代码段过滤结果:

html = html.replaceAll("[\"]+", "");

关于java - 从 evaluateJavascript getElementById 返回的字符串带有斜杠和引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53936394/

75 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com