From 7b02207537d35bfa1714bf8beafc921f717d100a Mon Sep 17 00:00:00 2001
From: 单军华
Date: Wed, 11 Jul 2018 10:47:42 +0800
Subject: [PATCH] 首次上传

---
 screendisplay/Pods/MagicWindowSDK/MagicWindowSDK/MagicWindowSDK/MagicWindow.bundle/Contents/Resources/MWWebViewJavascriptBridge.js.txt |  121 ++++++++++++++++++++++++++++++++++++++++
 1 files changed, 121 insertions(+), 0 deletions(-)

diff --git a/screendisplay/Pods/MagicWindowSDK/MagicWindowSDK/MagicWindowSDK/MagicWindow.bundle/Contents/Resources/MWWebViewJavascriptBridge.js.txt b/screendisplay/Pods/MagicWindowSDK/MagicWindowSDK/MagicWindowSDK/MagicWindow.bundle/Contents/Resources/MWWebViewJavascriptBridge.js.txt
new file mode 100755
index 0000000..d0c4a44
--- /dev/null
+++ b/screendisplay/Pods/MagicWindowSDK/MagicWindowSDK/MagicWindowSDK/MagicWindow.bundle/Contents/Resources/MWWebViewJavascriptBridge.js.txt
@@ -0,0 +1,121 @@
+;(function() {
+	if (window.WebViewJavascriptBridge) { return }
+	var messagingIframe
+	var sendMessageQueue = []
+	var receiveMessageQueue = []
+	var messageHandlers = {}
+	
+	var MESSAGE_SEPARATOR = '__WVJB_MESSAGE_SEPERATOR__'
+	var CUSTOM_PROTOCOL_SCHEME = 'wvjbscheme'
+	var QUEUE_HAS_MESSAGE = '__WVJB_QUEUE_MESSAGE__'
+	
+	var responseCallbacks = {}
+	var uniqueId = 1
+	
+	function _createQueueReadyIframe(doc) {
+		messagingIframe = doc.createElement('iframe')
+		messagingIframe.style.display = 'none'
+		doc.documentElement.appendChild(messagingIframe)
+	}
+
+	function init(messageHandler) {
+		if (WebViewJavascriptBridge._messageHandler) { throw new Error('WebViewJavascriptBridge.init called twice') }
+		WebViewJavascriptBridge._messageHandler = messageHandler
+		var receivedMessages = receiveMessageQueue
+		receiveMessageQueue = null
+		for (var i=0; i<receivedMessages.length; i++) {
+			_dispatchMessageFromObjC(receivedMessages[i])
+		}
+	}
+
+	function send(data, responseCallback) {
+		_doSend({ data:data }, responseCallback)
+	}
+	
+	function registerHandler(handlerName, handler) {
+		messageHandlers[handlerName] = handler
+	}
+	
+	function callHandler(handlerName, data, responseCallback) {
+		_doSend({ data:data, handlerName:handlerName }, responseCallback)
+	}
+	
+	function _doSend(message, responseCallback) {
+		if (responseCallback) {
+			var callbackId = 'js_cb_'+(uniqueId++)
+			responseCallbacks[callbackId] = responseCallback
+			message['callbackId'] = callbackId
+		}
+		sendMessageQueue.push(JSON.stringify(message))
+		messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + '://' + QUEUE_HAS_MESSAGE
+	}
+
+	function _fetchQueue() {
+		var messageQueueString = sendMessageQueue.join(MESSAGE_SEPARATOR)
+		sendMessageQueue = []
+		return messageQueueString
+	}
+
+	function _dispatchMessageFromObjC(messageJSON) {
+		setTimeout(function _timeoutDispatchMessageFromObjC() {
+			var message = JSON.parse(messageJSON)
+			var messageHandler
+			if (message.responseId) {
+				var responseCallback = responseCallbacks[message.responseId]
+
+				responseCallback(message.error, message.responseData)
+				delete responseCallbacks[message.responseId]
+			} else {
+				var response                            
+				if (message.callbackId) {
+					var callbackResponseId = message.callbackId
+					response = {
+						respondWith: function(responseData) {
+							_doSend({ responseId:callbackResponseId, responseData:responseData })
+						},
+						respondWithError: function(error) {
+							_doSend({ responseId:callbackResponseId, error:error })
+						}
+					}
+				}
+				
+				var handler = WebViewJavascriptBridge._messageHandler
+
+				if (message.handlerName) {
+					handler = messageHandlers[message.handlerName]
+				}
+				
+				try {
+					handler(message.data, response)
+				} catch(exception) {
+					console.log("WebViewJavascriptBridge: WARNING: javascript handler threw.", message, exception)
+				}
+			}
+		})
+	}
+	
+	function _handleMessageFromObjC(messageJSON) {
+
+		if (receiveMessageQueue) {
+			receiveMessageQueue.push(messageJSON)
+		} else {
+			_dispatchMessageFromObjC(messageJSON)
+		}
+	}
+
+	window.WebViewJavascriptBridge = {
+		init: init,
+		send: send,
+		registerHandler: registerHandler,
+		callHandler: callHandler,
+		_fetchQueue: _fetchQueue,
+		_handleMessageFromObjC: _handleMessageFromObjC
+	}
+
+	var doc = document
+	_createQueueReadyIframe(doc)
+	var readyEvent = doc.createEvent('Events')
+	readyEvent.initEvent('WebViewJavascriptBridgeReady')
+	readyEvent.bridge = WebViewJavascriptBridge
+	doc.dispatchEvent(readyEvent)
+})();

--
Gitblit v1.8.0