我试图在移动设备上隐藏我的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(); });
});
}-*/;
答案 0 :(得分:3)
为什么不改变您的应用fullscreen?
你必须考虑不同的实现(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上的Using Fullscreen Mode,以及hacks.mozilla.org上的Using the fullscreen API in web browsers。
另请查看robnyman的this useful gist以便快速离开。