zhangbo1_wd

专题web,修改

... ... @@ -37,23 +37,7 @@ export struct WdWebComponent {
})
.onLoadIntercept((event) => {
let url: string = event.data.getRequestUrl().toString()
url = url.replace("%(?![0-9a-fA-F]{2})", "%25")
.replace("\\+", "%2B");
url = decodeURIComponent(url)
if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) {
this.webviewControl.handlerReturnData(url)
return true
}
if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) {
Logger.debug(TAG, 'flushMessageQueue');
this.webviewControl.flushMessageQueue()
return true
}
if (url.includes('__bridge_loaded__')) {
BridgeUtil.webViewLoadLocalJs(getContext(this), this.webviewControl)
return true
}
return this.onLoadIntercept(event.data.getRequestUrl().toString());
return this.onLoadIntercept(url);
})
}
}
... ... @@ -81,25 +65,38 @@ export struct WdWebComponent {
/**
*/
private defaultGetReceiveSubjectData: (data: Message, f: Callback) => void = (data: Message, f: Callback) => {
if(data.handlerName === H5CallNativeType.jsCall_receiveSubjectData){
if(data.handlerName === H5CallNativeType.jsCall_receiveSubjectData) {
f('')
}
}
onPageBegin: (url?: string) => void = () => {
Logger.debug(TAG, 'onPageBegin');
this.registerHandlers();
//有时序问题 必须延时执行
// setTimeout(() => {
// BridgeUtil.webViewLoadLocalJs(getContext(this), this.webviewControl)
// }, 200)
}
onPageEnd: (url?: string) => void = () => {
Logger.debug(TAG, 'onPageEnd');
this.onWebPrepared()
this.isPageEnd = true
}
onLoadIntercept: (url?: string) => boolean = () => {
Logger.debug(TAG, 'onLoadIntercept return false');
onLoadIntercept: (url: string) => boolean = (url: string) => {
Logger.debug(TAG, 'onLoadIntercept');
url = url.replace("%(?![0-9a-fA-F]{2})", "%25")
.replace("\\+", "%2B");
url = decodeURIComponent(url)
if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) {
this.webviewControl.handlerReturnData(url)
return true
}
if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) {
Logger.debug(TAG, 'flushMessageQueue');
this.webviewControl.flushMessageQueue()
return true
}
if (url.includes(BridgeUtil.BRIDGE_LOADED_MSG)) {
// jsBridge load通知,注入js
BridgeUtil.webViewLoadLocalJs(getContext(this), this.webviewControl)
return true
}
return false
}
onReloadStateChanged() {
... ...