亲爱的社区!
我正在尝试构建一个PWA,并且重点是在PC / Mac上安装后拥有固定的屏幕大小。 我在清单中声明了"display": "standalone"。它工作正常,但当在Mac或Windows上打开时,我可以用鼠标调整大小。是否有方法解决此问题?
谢谢!
亲爱的社区!
我正在尝试构建一个PWA,并且重点是在PC / Mac上安装后拥有固定的屏幕大小。 我在清单中声明了"display": "standalone"。它工作正常,但当在Mac或Windows上打开时,我可以用鼠标调整大小。是否有方法解决此问题?
谢谢!
window
的 resize
事件并且强制改变窗口大小。你也可以真正地改变窗口大小,但它会被重置回你想要的大小。// insideInstalledApp.js
export default () =>
window.matchMedia('(display-mode: standalone)').matches ||
window.navigator.standalone === true
这只是强制一些特定的大小。
// forceScreenSize.js
import insideInstalledApp from './insideInstalledApp'
export default (width, height) => {
if (insideInstalledApp()) {
// Size window after open the app
window.resizeTo(width, height)
window.addEventListener('resize', () => {
window.resizeTo(width, height)
})
}
}
在主文件中调用(在这种情况下是React应用程序)
// index.js
import forceScreenSize from './forceScreenSize'
// ... other initialization code here
forceScreenSize(270, 480)
这对我来说效果最佳:
window.addEventListener('resize', function(){
let fixedWidth = 400;
let fixedHeight = 400;
window.resizeTo(fixedWidth, fixedHeight);
});