GWT: Скрыть адресную строку на мобильных устройствах
Я пытаюсь скрыть адресную строку моего приложения GWT на мобильных устройствах. Из моего мобильного кода я вызываю функцию JSNI ниже, но она не работает. Любое решение, которое вы можете придумать, которое не включает JQuery?
public static native void hideBar()
/*-{
$($doc).ready(function() {
function hideAddressBar() {
if($doc.documentElement.scrollHeight < $wnd.outerHeight / $wnd.devicePixelRatio) {
$doc.documentElement.style.height = ($wnd.outerHeight / $wnd.devicePixelRatio) + "px";
}
}
$wnd.addEventListener("load", function() { hideAddressBar(); });
$wnd.addEventListener("orientationchange", function() { hideAddressBar(); });
});
}-*/;
1 ответ
Решение
Почему бы не сделать ваше приложение полноэкранным?
Вам придется учитывать различные реализации (префиксы webkit и gecko, наименование методов отличается от стандартов W3C и т. Д.), Но в вашем случае это похоже на путь.
Вместо hideAddressBar()
есть goFullScreen()
хулиганит:
function goFullScreen() {
var docElm = $doc.documentElement;
if (docElm.requestFullscreen) {
docElm.requestFullscreen();
} else if (docElm.mozRequestFullScreen) {
docElm.mozRequestFullScreen();
} else if (docElm.webkitRequestFullScreen) {
docElm.webkitRequestFullScreen();
}
}
См. Использование полноэкранного режима в MDN, а также Использование полноэкранного API в веб-браузерах на hacks.mozilla.org.
Также ознакомьтесь с этой полезной идеей от robnyman для быстрого начала работы.