Showing
1 changed file
with
21 additions
and
24 deletions
| @@ -37,23 +37,7 @@ export struct WdWebComponent { | @@ -37,23 +37,7 @@ export struct WdWebComponent { | ||
| 37 | }) | 37 | }) |
| 38 | .onLoadIntercept((event) => { | 38 | .onLoadIntercept((event) => { |
| 39 | let url: string = event.data.getRequestUrl().toString() | 39 | let url: string = event.data.getRequestUrl().toString() |
| 40 | - url = url.replace("%(?![0-9a-fA-F]{2})", "%25") | ||
| 41 | - .replace("\\+", "%2B"); | ||
| 42 | - url = decodeURIComponent(url) | ||
| 43 | - if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) { | ||
| 44 | - this.webviewControl.handlerReturnData(url) | ||
| 45 | - return true | ||
| 46 | - } | ||
| 47 | - if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) { | ||
| 48 | - Logger.debug(TAG, 'flushMessageQueue'); | ||
| 49 | - this.webviewControl.flushMessageQueue() | ||
| 50 | - return true | ||
| 51 | - } | ||
| 52 | - if (url.includes('__bridge_loaded__')) { | ||
| 53 | - BridgeUtil.webViewLoadLocalJs(getContext(this), this.webviewControl) | ||
| 54 | - return true | ||
| 55 | - } | ||
| 56 | - return this.onLoadIntercept(event.data.getRequestUrl().toString()); | 40 | + return this.onLoadIntercept(url); |
| 57 | }) | 41 | }) |
| 58 | } | 42 | } |
| 59 | } | 43 | } |
| @@ -81,25 +65,38 @@ export struct WdWebComponent { | @@ -81,25 +65,38 @@ export struct WdWebComponent { | ||
| 81 | /** | 65 | /** |
| 82 | */ | 66 | */ |
| 83 | private defaultGetReceiveSubjectData: (data: Message, f: Callback) => void = (data: Message, f: Callback) => { | 67 | private defaultGetReceiveSubjectData: (data: Message, f: Callback) => void = (data: Message, f: Callback) => { |
| 84 | - if(data.handlerName === H5CallNativeType.jsCall_receiveSubjectData){ | 68 | + if(data.handlerName === H5CallNativeType.jsCall_receiveSubjectData) { |
| 85 | f('') | 69 | f('') |
| 86 | } | 70 | } |
| 87 | } | 71 | } |
| 88 | onPageBegin: (url?: string) => void = () => { | 72 | onPageBegin: (url?: string) => void = () => { |
| 89 | Logger.debug(TAG, 'onPageBegin'); | 73 | Logger.debug(TAG, 'onPageBegin'); |
| 90 | this.registerHandlers(); | 74 | this.registerHandlers(); |
| 91 | - //有时序问题 必须延时执行 | ||
| 92 | - // setTimeout(() => { | ||
| 93 | - // BridgeUtil.webViewLoadLocalJs(getContext(this), this.webviewControl) | ||
| 94 | - // }, 200) | ||
| 95 | } | 75 | } |
| 96 | onPageEnd: (url?: string) => void = () => { | 76 | onPageEnd: (url?: string) => void = () => { |
| 97 | Logger.debug(TAG, 'onPageEnd'); | 77 | Logger.debug(TAG, 'onPageEnd'); |
| 98 | this.onWebPrepared() | 78 | this.onWebPrepared() |
| 99 | this.isPageEnd = true | 79 | this.isPageEnd = true |
| 100 | } | 80 | } |
| 101 | - onLoadIntercept: (url?: string) => boolean = () => { | ||
| 102 | - Logger.debug(TAG, 'onLoadIntercept return false'); | 81 | + onLoadIntercept: (url: string) => boolean = (url: string) => { |
| 82 | + Logger.debug(TAG, 'onLoadIntercept'); | ||
| 83 | + url = url.replace("%(?![0-9a-fA-F]{2})", "%25") | ||
| 84 | + .replace("\\+", "%2B"); | ||
| 85 | + url = decodeURIComponent(url) | ||
| 86 | + if (url.startsWith(BridgeUtil.YY_RETURN_DATA)) { | ||
| 87 | + this.webviewControl.handlerReturnData(url) | ||
| 88 | + return true | ||
| 89 | + } | ||
| 90 | + if (url.startsWith(BridgeUtil.YY_OVERRIDE_SCHEMA)) { | ||
| 91 | + Logger.debug(TAG, 'flushMessageQueue'); | ||
| 92 | + this.webviewControl.flushMessageQueue() | ||
| 93 | + return true | ||
| 94 | + } | ||
| 95 | + if (url.includes(BridgeUtil.BRIDGE_LOADED_MSG)) { | ||
| 96 | + // jsBridge load通知,注入js | ||
| 97 | + BridgeUtil.webViewLoadLocalJs(getContext(this), this.webviewControl) | ||
| 98 | + return true | ||
| 99 | + } | ||
| 103 | return false | 100 | return false |
| 104 | } | 101 | } |
| 105 | onReloadStateChanged() { | 102 | onReloadStateChanged() { |
-
Please register or login to post a comment