Skip to content

Commit 239f03b

Browse files
committed
rm js redundant code
1 parent 60fcfdd commit 239f03b

1 file changed

Lines changed: 23 additions & 56 deletions

File tree

WKWebViewJavascriptBridgeDemo/Demo.html

Lines changed: 23 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -18,14 +18,7 @@ <h1>Demo</h1>
1818
if (window.WKWebViewJavascriptBridge) { return callback(WKWebViewJavascriptBridge); }
1919
if (window.WKWVJBCallbacks) { return window.WKWVJBCallbacks.push(callback); }
2020
window.WKWVJBCallbacks = [callback];
21-
22-
<!-- var WVJBIframe = document.createElement('iframe');-->
23-
<!-- WVJBIframe.style.display = 'none';-->
24-
<!-- WVJBIframe.src = 'https://__bridge_loaded__';-->
25-
<!-- document.documentElement.appendChild(WVJBIframe);-->
2621
window.webkit.messageHandlers.iOS_Native_InjectJavascript.postMessage(null)
27-
28-
<!-- setTimeout(function() { document.documentElement.removeChild(WVJBIframe) }, 0)-->
2922
}
3023

3124
setupWKWebViewJavascriptBridge(function(bridge) {
@@ -72,21 +65,15 @@ <h1>Demo</h1>
7265
window.WKWebViewJavascriptBridge = {
7366
registerHandler: registerHandler,
7467
callHandler: callHandler,
75-
disableJavscriptAlertBoxSafetyTimeout: disableJavscriptAlertBoxSafetyTimeout,
7668
_fetchQueue: _fetchQueue,
7769
_handleMessageFromiOS: _handleMessageFromiOS
7870
};
7971

80-
var messagingIframe;
8172
var sendMessageQueue = [];
8273
var messageHandlers = {};
8374

84-
var CUSTOM_PROTOCOL_SCHEME = 'https';
85-
var QUEUE_HAS_MESSAGE = '__wvjb_queue_message__';
86-
8775
var responseCallbacks = {};
8876
var uniqueId = 1;
89-
var dispatchMessagesWithTimeoutSafety = true;
9077

9178
function registerHandler(handlerName, handler) {
9279
messageHandlers[handlerName] = handler;
@@ -99,9 +86,6 @@ <h1>Demo</h1>
9986
}
10087
_doSend({ handlerName:handlerName, data:data }, responseCallback);
10188
}
102-
function disableJavscriptAlertBoxSafetyTimeout() {
103-
dispatchMessagesWithTimeoutSafety = false;
104-
}
10589

10690
function _doSend(message, responseCallback) {
10791
if (responseCallback) {
@@ -110,8 +94,6 @@ <h1>Demo</h1>
11094
message['callbackID'] = callbackID;
11195
}
11296
sendMessageQueue.push(message);
113-
114-
<!-- messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + '://' + QUEUE_HAS_MESSAGE;-->
11597
window.webkit.messageHandlers.iOS_Native_FlushMessageQueue.postMessage(null)
11698
}
11799

@@ -122,38 +104,30 @@ <h1>Demo</h1>
122104
}
123105

124106
function _dispatchMessageFromiOS(messageJSON) {
125-
if (dispatchMessagesWithTimeoutSafety) {
126-
setTimeout(_doDispatchMessageFromiOS);
107+
var message = JSON.parse(messageJSON);
108+
var messageHandler;
109+
var responseCallback;
110+
111+
if (message.responseID) {
112+
responseCallback = responseCallbacks[message.responseID];
113+
if (!responseCallback) {
114+
return;
115+
}
116+
responseCallback(message.responseData);
117+
delete responseCallbacks[message.responseID];
127118
} else {
128-
_doDispatchMessageFromiOS();
129-
}
130-
131-
function _doDispatchMessageFromiOS() {
132-
var message = JSON.parse(messageJSON);
133-
var messageHandler;
134-
var responseCallback;
135-
136-
if (message.responseID) {
137-
responseCallback = responseCallbacks[message.responseID];
138-
if (!responseCallback) {
139-
return;
140-
}
141-
responseCallback(message.responseData);
142-
delete responseCallbacks[message.responseID];
119+
if (message.callbackID) {
120+
var callbackResponseId = message.callbackID;
121+
responseCallback = function(responseData) {
122+
_doSend({ handlerName:message.handlerName, responseID:callbackResponseId, responseData:responseData });
123+
};
124+
}
125+
126+
var handler = messageHandlers[message.handlerName];
127+
if (!handler) {
128+
console.log("WKWebViewJavascriptBridge: WARNING: no handler for message from iOS:", message);
143129
} else {
144-
if (message.callbackID) {
145-
var callbackResponseId = message.callbackID;
146-
responseCallback = function(responseData) {
147-
_doSend({ handlerName:message.handlerName, responseID:callbackResponseId, responseData:responseData });
148-
};
149-
}
150-
151-
var handler = messageHandlers[message.handlerName];
152-
if (!handler) {
153-
console.log("WKWebViewJavascriptBridge: WARNING: no handler for message from iOS:", message);
154-
} else {
155-
handler(message.data, responseCallback);
156-
}
130+
handler(message.data, responseCallback);
157131
}
158132
}
159133
}
@@ -162,18 +136,11 @@ <h1>Demo</h1>
162136
_dispatchMessageFromiOS(messageJSON);
163137
}
164138

165-
messagingIframe = document.createElement('iframe');
166-
messagingIframe.style.display = 'none';
167-
messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + '://' + QUEUE_HAS_MESSAGE;
168-
document.documentElement.appendChild(messagingIframe);
169-
170-
registerHandler("_disableJavascriptAlertBoxSafetyTimeout", disableJavscriptAlertBoxSafetyTimeout);
171-
172139
setTimeout(_callWVJBCallbacks, 0);
173140
function _callWVJBCallbacks() {
174141
var callbacks = window.WKWVJBCallbacks;
175142
delete window.WKWVJBCallbacks;
176-
for (var i=0; i<callbacks.length; i++) {
143+
for (var i = 0; i < callbacks.length; i++) {
177144
callbacks[i](WKWebViewJavascriptBridge);
178145
}
179146
}

0 commit comments

Comments
 (0)