请求全屏刷新对象标签中的数据(html canvas)

2024-01-05

我在视图页面上有一个按钮,可以使带有 id 游戏的对象标签全屏显示。

视图.html

<object id="game" src="url/file.html"></object>
<span onclick="fullScreen()"></span>

main.js

function fullScreen() {
var elem = document.getElementById("game");
if (elem.requestFullscreen) {
    elem.requestFullscreen();
    document.addEventListener('fullscreenchange', fullScreenExit, false);
} else if (elem.msRequestFullscreen) {
    elem.msRequestFullscreen();
    document.addEventListener('fullscreenchange', fullScreenExit, false);
} else if (elem.mozRequestFullScreen) {
    elem.mozRequestFullScreen();
    document.addEventListener('mozfullscreenchange', fullScreenExit, false);
} else if (elem.webkitRequestFullscreen) {
    elem.webkitRequestFullscreen();
    document.addEventListener('webkitfullscreenchange', fullScreenExit, false);
}
}

问题

当按钮fullscreen单击后,它工作正常并使游戏全屏BUT它让人耳目一新。因此,如果用户在第 2 级游戏中途决定进入全屏,则会重新启动游戏(再次加载对象)。


我猜您在 Chrome 或其他 Webkit/Blink 浏览器上遇到过这种情况?

他们有一个奇怪的行为<object>,当元素不再在文档中时(或者甚至只是使用style=display:none;...

这也是有意义的,因为该元素实际上与活动文档分离。

我猜你能做的不多,虽然你可能想提交错误报告,但我强烈建议你尝试从<iframe>相反,它不会受到这个几年前的错误的影响......

Ps: it's data="url for <object>, not src="..

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

请求全屏刷新对象标签中的数据(html canvas) 的相关文章

随机推荐