;(function() {
if (window.WebViewJavascriptBridge) {
return;
}
var messagingIframe;
var sendMessageQueue = [];
var receiveMessageQueue = [];
var messageHandlers = {};
var CUSTOM_PROTOCOL_SCHEME = 'wvjbscheme';
var QUEUE_HAS_MESSAGE = '__QUEUE_MESSAGE__/';
var responseCallbacks = {};
var uniqueId = 1;
function _createQueueReadyIframe(doc) {
messagingIframe = doc.createElement('iframe');
messagingIframe.style.display = 'none';
doc.documentElement.appendChild(messagingIframe);
}
function _defaultHandler(data, responseCallback) {
alert("defaultHandler:" + data);
responseCallback("defaultHandler : callback");
}
//set default messageHandler
function init() {
WebViewJavascriptBridge._messageHandler = _defaultHandler;
var receivedMessages = receiveMessageQueue;
receiveMessageQueue = null;
for (var i = 0; i < receivedMessages.length; i++) {
_dispatchMessageFromNative(receivedMessages[i]);
}
}
function send(data, responseCallback) {
_doSend({
data: data
}, responseCallback);
}
function registerHandler(handlerName, handler) {
messageHandlers[handlerName] = handler;
}
function callHandler(handlerName, data, responseCallback) {
_doSend({
handlerName: handlerName,
data: data
}, responseCallback);
}
//sendMessage add message, 触发native处理 sendMessage
function _doSend(message, responseCallback) {
if (responseCallback) {
var callbackId = 'cb_' + (uniqueId++) + '_' + new Date().getTime();
responseCallbacks[callbackId] = responseCallback;
message.callbackId = callbackId;
}
sendMessageQueue.push(message);
messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + '://' + QUEUE_HAS_MESSAGE;
}
// 提供给native调用,该函数作用:获取sendMessageQueue返回给native,由于android不能直接获取返回的内容,所以使用url shouldOverrideUrlLoading 的方式返回内容
function _fetchQueue() {
var messageQueueString = JSON.stringify(sendMessageQueue);
sendMessageQueue = [];
//android can't read directly the return data, so we can reload iframe src to communicate with java
messagingIframe.src = CUSTOM_PROTOCOL_SCHEME + '://return/_fetchQueue/' + encodeURIComponent(messageQueueString);
}
//提供给native使用,
function _dispatchMessageFromNative(messageJSON) {
setTimeout(function() {
var message = JSON.parse(messageJSON);
var responseCallback;
//java call finished, now need to call js callback function
if (message.responseId) {
responseCallback = responseCallbacks[message.responseId];
if (!responseCallback) {
return;
}
responseCallback(message.responseData);
delete responseCallbacks[message.responseId];
} else {
//直接发送
if (message.callbackId) {
var callbackResponseId = message.callbackId;
responseCallback = function(responseData) {
_doSend({
responseId: callbackResponseId,
responseData: responseData
});
};
}
var handler = WebViewJavascriptBridge._messageHandler;
if (message.handlerName) {
handler = messageHandlers[message.handlerName];
}
//查找指定handler
try {
handler(message.data, responseCallback);
} catch (exception) {
if (typeof console != 'undefined') {
console.log("WebViewJavascriptBridge: WARNING: javascript handler threw.", message, exception);
}
}
}
});
}
//提供给native调用,receiveMessageQueue 在会在页面加载完后赋值为null,所以
function _handleMessageFromNative(messageJSON) {
console.log(messageJSON);
if (receiveMessageQueue && receiveMessageQueue.length > 0) {
receiveMessageQueue.push(messageJSON);
} else {
_dispatchMessageFromNative(messageJSON);
}
}
function setDefaultHandler(messageHandler){
WebViewJavascriptBridge._messageHandler = messageHandler;
}
var WebViewJavascriptBridge = window.WebViewJavascriptBridge = {
init: init,
send: send,
setDefaultHandler: setDefaultHandler,
registerHandler: registerHandler,
callHandler: callHandler,
_fetchQueue: _fetchQueue,
_handleMessageFromNative: _handleMessageFromNative
};
var doc = document;
_createQueueReadyIframe(doc);
var readyEvent = doc.createEvent('Events');
readyEvent.initEvent('WebViewJavascriptBridgeReady');
readyEvent.bridge = WebViewJavascriptBridge;
doc.dispatchEvent(readyEvent);
setTimeout(_callWVJBCallbacks, 0);
function _callWVJBCallbacks() {
WebViewJavascriptBridge.init();
var callbacks = window.WVJBCallbacks;
delete window.WVJBCallbacks;
for (var i=0; i<callbacks.length; i++) {
callbacks[i](WebViewJavascriptBridge);
}
}
})();
没有合适的资源?快使用搜索试试~ 我知道了~
安卓应用-手机工具-color多彩手帐官方版 v4.0.0.zip
共2490个文件
png:1401个
xml:945个
version:49个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 197 浏览量
2021-12-11
00:55:18
上传
评论
收藏 21.05MB ZIP 举报
温馨提示
安卓应用-手机工具-color多彩手帐官方版 v4.0.0.zip
资源推荐
资源详情
资源评论
收起资源包目录
安卓应用-手机工具-color多彩手帐官方版 v4.0.0.zip (2490个子文件)
.appkey 16B
resources.arsc 2.06MB
DebugProbesKt.bin 2KB
hmsrootcas.bks 26KB
kotlinx.coroutines.CoroutineExceptionHandler 54B
na.czl 2KB
cztchannel_yingyongbao 0B
classes.dex 14.38MB
publicsuffixes.gz 37KB
method.info 3KB
gdtadv2.jar 1.08MB
GV.jpg 77KB
OZ.jpg 67KB
UX.jpg 62KB
uu.jpg 43KB
Lx.jpg 26KB
WebViewJavascriptBridge.js 5KB
city.json 82KB
eW.json 63KB
2a.json 7KB
com.tencent.open.config.json 56B
kotlin.kotlin_builtins 14KB
collections.kotlin_builtins 4KB
reflect.kotlin_builtins 2KB
ranges.kotlin_builtins 2KB
annotation.kotlin_builtins 926B
internal.kotlin_builtins 758B
coroutines.kotlin_builtins 200B
kotlin-stdlib.kotlin_module 5KB
kotlinx-coroutines-core.kotlin_module 2KB
kotlin-stdlib-common.kotlin_module 2KB
core-ktx_release.kotlin_module 1KB
okio.kotlin_module 377B
okhttp.kotlin_module 277B
kotlin-stdlib-jdk8.kotlin_module 268B
activity-ktx_release.kotlin_module 243B
kotlin-stdlib-jdk7.kotlin_module 146B
fragment-ktx_release.kotlin_module 136B
lifecycle-runtime-ktx_release.kotlin_module 128B
app_colorDcszRelease.kotlin_module 114B
collection-ktx.kotlin_module 109B
lifecycle-viewmodel-ktx_release.kotlin_module 101B
kotlinx-coroutines-android.kotlin_module 75B
lifecycle-livedata-core-ktx_release.kotlin_module 58B
savedstate-ktx_release.kotlin_module 55B
library_release.kotlin_module 24B
libwbsafeedit 17KB
libwbsafeedit_64 18KB
libwbsafeedit_x86 17KB
libwbsafeedit_x86_64 18KB
kotlinx.coroutines.internal.MainDispatcherFactory 52B
MANIFEST.MF 251KB
o-.mp3 12KB
X7.mp3 7KB
I1.mp3 6KB
sa.mp3 4KB
jS.mp3 3KB
nd 5KB
NOTICE 218B
CG.png 563KB
rd.png 433KB
D2.png 324KB
Wd.png 262KB
tZ.png 253KB
G8.png 163KB
SD.png 88KB
Wd1.png 55KB
Ft.png 54KB
gf.png 53KB
Kv.png 50KB
Lf.png 41KB
D21.png 34KB
hK.png 31KB
tB1.png 29KB
6J.png 28KB
sL.png 22KB
EB.png 21KB
gQ.png 21KB
Ak.png 21KB
Nd.png 21KB
rt.png 20KB
tR.9.png 20KB
icon_first_release_ali.png 20KB
WB.png 17KB
r41.png 16KB
R_.png 16KB
Rv.png 15KB
PF.png 15KB
V2.png 15KB
nz.png 15KB
N9.png 15KB
JG.png 15KB
sS.png 15KB
by.png 15KB
N5.png 15KB
-P.png 15KB
CQ.png 15KB
Wq.png 15KB
XP.png 15KB
8p.png 15KB
共 2490 条
- 1
- 2
- 3
- 4
- 5
- 6
- 25
资源评论
programxh
- 粉丝: 17
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功