字符串替换不';当通过android webView JavascriptInterface传递字符串时不起作用
当我通过JavaScriptInterface将Java字符串传递到android webView时,我遇到了一个字符串替换问题 以下是webView中的HTML(utf-8文件):字符串替换不';当通过android webView JavascriptInterface传递字符串时不起作用,java,javascript,android,webview,Java,Javascript,Android,Webview,当我通过JavaScriptInterface将Java字符串传递到android webView时,我遇到了一个字符串替换问题 以下是webView中的HTML(utf-8文件): <html> <head> <script type="text/javascript"> a=window.MyAndroid.getPicEncStr(); //get string from Java side.
<html>
<head>
<script type="text/javascript">
a=window.MyAndroid.getPicEncStr(); //get string from Java side.
function getValue(){
b="ue";
if(a==b) {
d="match";
} else {
d="not match";
}
c=d+":"+a.replace("u","0")+b.replace("u","0");
document.getElementById("test").innerHTML=c;
}
</script>
</head>
<body>
<span id="test">test</span>
</body>
</html>
当我调用webView.loadUrl(“javascript:getValue()”)时,span(“id”=“test”)中的结果是“match:ue0e”,无论我是否从“unicode”转换为“utf-8”
基本上字符串“a”等于字符串“b”,但replace函数对a不起作用,只对b起作用
有人能帮我吗
谢谢。看来我找到了解决问题的方法:
<html>
<head>
<script type="text/javascript">
a=window.MyAndroid.getPicEncStr(); //get string from Java side.
function getValue(){
b="ue";
if(a==b) {
d="match";
} else {
d="not match";
}
a=new String(a); //<-- force convert java string to javascript string.
c=d+":"+a.replace("u","0")+b.replace("u","0");
document.getElementById("test").innerHTML=c;
}
</script>
</head>
<body>
<span id="test">test</span>
</body>
</html>
a=window.MyAndroid.getPicEncStr()//从Java端获取字符串。
函数getValue(){
b=“ue”;
如果(a==b){
d=“匹配”;
}否则{
d=“不匹配”;
}
a=新字符串(a);//尝试在utf8中生成webView.loadUrl。嗨,Andrew,我试过了,但是结果还是一样的。
<html>
<head>
<script type="text/javascript">
a=window.MyAndroid.getPicEncStr(); //get string from Java side.
function getValue(){
b="ue";
if(a==b) {
d="match";
} else {
d="not match";
}
a=new String(a); //<-- force convert java string to javascript string.
c=d+":"+a.replace("u","0")+b.replace("u","0");
document.getElementById("test").innerHTML=c;
}
</script>
</head>
<body>
<span id="test">test</span>
</body>
</html>