JS para obtener la página web < se convierte en /u003C

El navegador de Android no ha podido usar el código fuente durante mucho tiempo. Hoy, quiero agregar una función para guardar páginas web. La parte JS es la misma. Encontré un problema: hay una comilla doble adicional para un carácter, y < se convierte en \u003C.

¿Por qué es esto?

Modificar js: devolver unescape(s) no es válido.

Modificar js: return decodeURI(s) devuelve nulo.

Modificando Java: String s = new String(value.getBytes(), StandardCharsets.UTF_8), no funciona.

String js = "javascript:function save(){var s='<html>'+document.getElementsByTagName('html')[0].innerHTML+'</html>';return s;}";
list_webView.get(currentPage).loadUrl(js);
list_webView.get(currentPage).evaluateJavascript("javascript:save()", new ValueCallback<String>() {
     @Override
     public void onReceiveValue(String value) {
         Log.e(Thread.currentThread().getStackTrace()[2] + "", "" + value);
         String s = new String(value.getBytes(), StandardCharsets.UTF_8);
          writeFile(button_title.getText().toString() + ".htm", s);
     }
});

Supongo que te gusta

Origin blog.csdn.net/sonichty/article/details/121922182
Recomendado
Clasificación