Я скопировал свой код по следующей ссылке. Это обходной путь для передачи данных из InAppBrowser обратно в приложение.Виртуальная клавиатура Android InAppBrowser закрывается на executeScript(). [phonegap]
blogs.telerik.com/appbuilder/posts/13-12-23/cross-window-communication-with-cordova's-inappbrowser
Проблема заключается в том, что после каждого executescript() Клавиатура исчезает.
Статус этой проблемы здесь «не исправит». Поэтому мне интересно, есть ли альтернативное решение. Я вижу только ссылку на пользователей KitKat, но это будет представлять ограниченную сумму.
https://issues.apache.org/jira/browse/CB-5449
Предложения?
setName: function() {
var win = window.open("http://jsfiddle.net/tj_vantoll/K2yqc/show", "_blank",
"EnableViewPortScale=yes");
win.addEventListener("loadstop", function() {
win.executeScript({ code: "localStorage.setItem('name', '');" });
var loop = setInterval(function() {
win.executeScript(
{
code: "localStorage.getItem('name')"
},
function(values) {
var name = values[ 0 ];
if (name) {
clearInterval(loop);
win.close();
$("h1").html("Welcome " + name + "!");
}
}
);
});
});
}
Есть также события 'showkeyboard' /' hidekeyboard', предоставленные ядром Cordova, но они казались менее надежными. Они были, например, срабатывает при вращении устройства, что приводит к ложным срабатываниям во время моих испытаний. –
Спасибо, Грегор. Я исследую ваши решения. –