zhangbo1_wd

专题web,修改

@@ -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() {