chenquansheng

fix |> 修复文章详情页空白的问题

... ... @@ -25,6 +25,10 @@ export class BridgeWebViewControl extends webview.WebviewController {
*/
private uniqueId = 0;
// setWebDebuggingAccess(){
// webview.WebviewController.setWebDebuggingAccess(true)
// }
registerHandler(handlerName: string, handler: BridgeHandler) {
if (handler != null) {
this.messageHandlers.set(handlerName, handler)
... ... @@ -114,6 +118,8 @@ export class BridgeWebViewControl extends webview.WebviewController {
private dispatchMessage(msg: CallBackMessage) {
let messageJson: string = msg.toJson()
hilog.error(0xFF00, TAG, 'dispatchMessage '+ messageJson);
// 用于过滤文章数据中的英文单引号和零宽字符,否则会在runJavaScript的时候解析错误导致出现空白页面
messageJson = messageJson.replace(/'/g, '‘').replace(/[\u200B\u200C\u200D\u200E\u200F\u2028\u2029\uFEFF]/g, '')
// messageJson = messageJson.replace("%7B", encodeURIComponent("%7B"));
// messageJson = messageJson.replace("%7D", encodeURIComponent("%7D"));
// messageJson = messageJson.replace("%22", encodeURIComponent("%22"));
... ... @@ -121,6 +127,8 @@ export class BridgeWebViewControl extends webview.WebviewController {
let javascriptCommand: string = StringUtils.formatStringForJS(BridgeUtil.JS_HANDLE_MESSAGE_FROM_JAVA, messageJson);
// hilog.error(0xFF00, TAG, 'dispatchMessage111 '+ javascriptCommand.slice(0,2000));
// hilog.error(0xFF00, TAG, 'dispatchMessage111 '+ javascriptCommand.slice(2000));
this.runJavaScript(javascriptCommand).then((res)=>{
hilog.error(0xFF00, TAG, 'dispatchMessage res: '+ res);
})
... ...