javascript - Android 混合应用程序给我 "Uncaught SyntaxError: Unexpected identifier",源 : (1)

标签 javascript android json webview

我从服务器收到了一个有效的 JSON,但是 Chromium 告诉我这个错误:

"Uncaught SyntaxError: Unexpected identifier", source: (1)

我所知道的是,当我调用以下方法时:

stringBuilder.append("javascript: javascriptBridge.getHandlers().showPost('");
stringBuilder.append(e.getData());
stringBuilder.append("');");
webView.loadUrl(stringBuilder.toString());

其中 e.getData() 是有效的 JSON,它实际上不会在另一端被调用。 JSON 中的某些内容被错误地解释为 javascript 函数参数

javascriptBridge.registerHandler('showPost', function (data) {
     alert('showpost'); //this is not called
});

它适用于其他数据,以前甚至适用于 JSON,这就是它奇怪的原因。任何想法如何解决它?可能是某个 Angular 色让它崩溃了。

最佳答案

由于 commons-lang3,以下修复了它:

 StringBuilder stringBuilder = new StringBuilder();
 stringBuilder.append("javascript: javascriptBridge.getHandlers().showPost('");
 stringBuilder.append(StringEscapeUtils.escapeEcmaScript(e.getData()));
 stringBuilder.append("');");
 webView.loadUrl(stringBuilder.toString());

关于javascript - Android 混合应用程序给我 "Uncaught SyntaxError: Unexpected identifier",源 : (1),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27425573/

相关文章:

javascript - 如何使用 Angular 表达式值作为 html 元素的属性

javascript - 答案不会显示在消息框中

java - min3D 框架。物体旋转和移动

android - TextView 不显示分配给它的值

android - 如何使用 FirebaseListAdapter 获取键和值

json - 如何从 JSON 中获取数据并通过 vb6 在网格中显示

javascript - 在 Ember Js 组件中定义转换 To

javascript - 基于 Web 的 json 编辑器组件

python - 将 python JSON 打印回 python

javascript - jQuery .focus() 在 .show() 之后