webkitRequestFullscreen() 在 chrome 上更改网页的视口/尺寸 android
webkitRequestFullscreen() changing viewport / dimensions of webpage on chrome on android
对于应用程序,我需要在 android 上将 chrome 发送到全屏模式。
我知道我需要使用 Fullscreen API,这涉及调用 Element.webkitRequestFullscreen()
。
所以,我在 document.body
上调用它,因为我希望所有内容都进入全屏模式并利用所有 phone 屏幕。
但是问题是屏幕质量resized/loses。这严重破坏了我的应用程序(正在为虚拟现实绘制 canvas),因为我需要我能得到的所有分辨率!
为了演示屏幕已经放大并丢失了可绘制像素,请从检查我的 phone 的控制台中看到:
window.innerWidth
980
window.innerHeight
1547
//now I enter full screen...
window.innerWidth
360
window.innerHeight
640
很明显,innerWidth
和 innerHeight
在进入全屏时被缩小了,但我不知道是什么。
我已尝试对正文中包含的 canvas 进行不同的大小调整,但无济于事。
但我认为解决方案是添加一个 viewport:
<meta name="viewport" content="width=device-width, initial-scale=1">
而且我还尝试设置明确的内容宽度:
<meta name="viewport" content="width=900, initial-scale=1">
但是这些似乎都没有 任何 影响网页的行为,所以我不确定我是否放错了它们(在 <head>
) 或者如果我的语法有误,但它们不会改变任何东西。
解决方案(更多的是解决方法)是将我在 phone 中 Chrome 打开的网站转变为渐进式 Web 应用程序。
这就像在根目录中编写一个简短的 manifest.json
文件一样简单,然后在 Chrome 中打开网站后,点击“添加到主屏幕”。
现在 manifest.json
文件有一个选项:display: fullscreen
。
这不会降低工作 space 分辨率,而正是我需要的修复。
此外,考虑到我的 VR 体验目标,在 Chrome.
中,将其作为一个网络应用程序比您必须大惊小怪的网站更有意义。
对于应用程序,我需要在 android 上将 chrome 发送到全屏模式。
我知道我需要使用 Fullscreen API,这涉及调用 Element.webkitRequestFullscreen()
。
所以,我在 document.body
上调用它,因为我希望所有内容都进入全屏模式并利用所有 phone 屏幕。
但是问题是屏幕质量resized/loses。这严重破坏了我的应用程序(正在为虚拟现实绘制 canvas),因为我需要我能得到的所有分辨率!
为了演示屏幕已经放大并丢失了可绘制像素,请从检查我的 phone 的控制台中看到:
window.innerWidth
980
window.innerHeight
1547
//now I enter full screen...
window.innerWidth
360
window.innerHeight
640
很明显,innerWidth
和 innerHeight
在进入全屏时被缩小了,但我不知道是什么。
我已尝试对正文中包含的 canvas 进行不同的大小调整,但无济于事。
但我认为解决方案是添加一个 viewport:
<meta name="viewport" content="width=device-width, initial-scale=1">
而且我还尝试设置明确的内容宽度:
<meta name="viewport" content="width=900, initial-scale=1">
但是这些似乎都没有 任何 影响网页的行为,所以我不确定我是否放错了它们(在 <head>
) 或者如果我的语法有误,但它们不会改变任何东西。
解决方案(更多的是解决方法)是将我在 phone 中 Chrome 打开的网站转变为渐进式 Web 应用程序。
这就像在根目录中编写一个简短的 manifest.json
文件一样简单,然后在 Chrome 中打开网站后,点击“添加到主屏幕”。
现在 manifest.json
文件有一个选项:display: fullscreen
。
这不会降低工作 space 分辨率,而正是我需要的修复。
此外,考虑到我的 VR 体验目标,在 Chrome.
中,将其作为一个网络应用程序比您必须大惊小怪的网站更有意义。