Javascript 当我全屏显示一个div时,如何确保其中的对象也全屏显示?
我正在尝试全屏的flash游戏,我已经做了一个按钮,使容器div全屏。然而,div内的flash游戏并没有与div一起全屏运行,而是占据了屏幕的左上角。如何使flash游戏在扩展到全屏模式时跟随div 我已经尝试在CSS的.ob部分使用对象匹配包含和覆盖 我有一个部门:Javascript 当我全屏显示一个div时,如何确保其中的对象也全屏显示?,javascript,html,css,Javascript,Html,Css,我正在尝试全屏的flash游戏,我已经做了一个按钮,使容器div全屏。然而,div内的flash游戏并没有与div一起全屏运行,而是占据了屏幕的左上角。如何使flash游戏在扩展到全屏模式时跟随div 我已经尝试在CSS的.ob部分使用对象匹配包含和覆盖 我有一个部门: <div id="gamebox"> <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" co
<div id="gamebox">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab #version=5,0,0,0" >
<param name=movie value="adrenaline.swf">
<param name=quality value=high>
<param name="menu" value="false">
<embed src="Flash/adrenaline.swf" quality=high menu="false"
pluginspage="http://www.macromedia.com/shockwave/download/index.cgi? P1_Prod_Version=ShockwaveFlash"
type="application/x-shockwave-flash" width="550" height="400"> </embed></object>
</div>
然而,当我全屏显示div时,游戏本身只占据左上角,而没有用div填充屏幕
我当然期待着一次全屏体验,但我只有屏幕左上角可以玩。全屏功能正在工作,但仅在div上工作,而不在对象上。您的脚本必须调整
嵌入标记上的硬编码宽度和高度属性。您可以通过以下方式执行此操作:
let embed = document.querySelector("embed");
embed.height = "1vh";
embed.width = "1vw";
您必须为保存swf内容的父div提供一些初始维度,例如flash电影的实际维度。
现在在对象和嵌入标记的属性中,将宽度/高度设置为100%。这将确保swf始终根据其父级按比例缩放
<div id="gamebox" style="width:550px;height:400px">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
id="adrenaline" width="100%" height="100%">
<param name="movie" value="adrenaline.swf">
<param name="bgcolor" value="#000000">
<param name="quality" value="high">
<embed type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
width="100%" height="100%"
name="adrenaline" src="adrenaline.swf"
bgcolor="#000000" quality="high"
></embed>
</object>
</div>
<button onclick="goFullscreen('gamebox'); return false">Fullscreen Mode</button>
全屏模式
Flash提供了一个控制电影缩放方式的附加属性:scale。
如果未显示,则使用默认的“showall”,以保持电影的纵横比“exactfit”另一方面会延伸到整个容器。我觉得有必要指出,许多现代浏览器默认情况下不再支持Flash。Flash已经过时了。到明年年底(2020年),甚至Adobe本身也将停止支持Flash。这只是一个学习基础知识的爱好网站,但感谢您指出这一点!
#gamebox {
display: table;
margin: 0 auto;
}
let embed = document.querySelector("embed");
embed.height = "1vh";
embed.width = "1vw";
<div id="gamebox" style="width:550px;height:400px">
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0"
id="adrenaline" width="100%" height="100%">
<param name="movie" value="adrenaline.swf">
<param name="bgcolor" value="#000000">
<param name="quality" value="high">
<embed type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer"
width="100%" height="100%"
name="adrenaline" src="adrenaline.swf"
bgcolor="#000000" quality="high"
></embed>
</object>
</div>
<button onclick="goFullscreen('gamebox'); return false">Fullscreen Mode</button>