웹view 페이지 및 케이스 통신 라이브러리 (가상 버전)
6281 단어 webView
// PG
(function() {
var PG = {
iosBridge: null,
callbackId: 0,
callbacks: [],
commandQueue: [],
commandQueueFlushing: false
},
ua = navigator.userAgent,
isIOS = (ua.indexOf("iPhone") > -1 || ua.indexOf("iPad") > -1 || ua.indexOf("iPod") > -1) ? true : false;
PG.getAndClearQueuedCommands = function () {
var commandQueue_json = JSON.stringify(PG.commandQueue);
PG.commandQueue = [];
return commandQueue_json;
};
PG.exec = function(method, callback, args) {
var callbackId = '';
if (typeof(callback) == "undefined") {
callback = null;
}
if (typeof(args) == "undefined") {
args = {};
}
if (callback && typeof(callback) == 'function') {
callbackId = method + PG.callbackId++;
PG.callbacks[callbackId] = callback;
}
var obj = {
Method: method,
CallbackId: callbackId,
Args: args
};
if (isIOS) {
if (PG.iosBridge == null) {
PG.iosBridge = document.createElement("iframe");
PG.iosBridge.setAttribute("style", "display:none;");
PG.iosBridge.setAttribute("height", "0px");
PG.iosBridge.setAttribute("width", "0px");
PG.iosBridge.setAttribute("frameborder", "0");
document.documentElement.appendChild(PG.iosBridge);
}
PG.commandQueue.push(JSON.stringify(obj));
if (!PG.commandQueueFlushing) {
PG.iosBridge.src = 'pg://ready';
}
} else if (window.comjs) {
// android
window.comjs.notify('pg://' + encodeURIComponent(JSON.stringify(obj)));
} else {
console.log(" ios android , ");
}
};
PG.callback = function(callbackId, args) {
if (PG.callbacks[callbackId]) {
try {
var temp = decodeURIComponent(args),
obj = JSON.parse(temp);
PG.callbacks[callbackId](obj);
} catch (e) {
console.log("Error in success callback: " + callbackId + " = " + e);
}
delete PG.callbacks[callbackId];
}
};
if (typeof(window) === "object" && typeof(window.document) === "object") {
window.PG = PG;
}
})();
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
DatePicker를 스피너 지정해도 캘린더 부분이 사라지지 않는다 (Tablet 단말 전용?)에뮬레이터 및 실제 기기에서 검증 (API 28 이상) html을 WebView로 표시 (Chrome for android) DatePicker를 스피너 만 표시하고 싶었습니다. 결과적으로 스피너 만의 표시를 포기하...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.