私の HTML ページには、Flash SWF オブジェクトを含む別のページを参照する があります<div>
。<iframe>
これらのいずれかを設定した場合:
display:none;
visibility:hidden;
opacity:0;
filter:alpha(opacity=0);
<を<div>
ラップするiframe>
では、SWF オブジェクトがはっきりと見えることがありますが、<div>
と<iframe>
は予想どおり見えなくなります。
奇妙なことに、使用する SWF オブジェクトによっては、実際に機能することもあります。
予想される効果は、私の Mac 上のすべての最新ブラウザーと、Safariを除くすべての Windows 7 マシンで発生します。
編集
この問題を示すコード例を次に示します。
<button id="tryit" type="button">Try It</button>
<div id="test">
<iframe src="hideswf-iframe.html" width="770" height="610" frameborder="0"></iframe>
</div>
<script type="text/javascript">
var test = document.getElementById("test"),
tryit = document.getElementById("tryit");
tryit.addEventListener( "click", hideAndSeek, false );
function hideAndSeek(e) {
var style = test.style;
style.opacity = (style.opacity == 1 || style.opacity == "") ? 0 : 1;
}
</script>
モルモットとしてのサンプル SWF オブジェクト:
<object type="application/x-shockwave-flash" id="strobemediaplayback" data="StrobeMediaPlayback.swf" width="743" height="600" style="visibility: visible; ">
<param name="allowFullScreen" value="true">
<param name="wmode" value="direct">
<param name="flashvars" value="favorFlashOverHtml5Video=true&swf=StrobeMediaPlayback.swf&javascriptCallbackFunction=$.fn.strobemediaplayback.triggerHandler&minimumFlashPlayerVersion=10.0.0&expressInstallSwfUrl=expressInstall.swf&autoPlay=false&loop=false&controlBarMode=docked&poster=&src=http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4&useHTML5=false&width=1187&height=959&queryString=favorFlashOverHtml5Video=true&swf=StrobeMediaPlayback.swf&javascriptCallbackFunction=$.fn.strobemediaplayback.triggerHandler&minimumFlashPlayerVersion=10.0.0&expressInstallSwfUrl=expressInstall.swf&autoPlay=false&loop=false&controlBarMode=docked&poster=&src=http://players.edgesuite.net/videos/big_buck_bunny/bbb_448x252.mp4&useHTML5=false&width=1187&height=959">
</object>
ファイルhideswf-iframe.htmlに存在します。
これは、Mac 上の最新バージョンの Safari、Chrome、および Firefox と、Windows 7 マシン上の最新バージョンの Chrome、Firefox、および Internet Explorer で機能し、失敗するはずです (エラーは発生しませんが、非表示動作は発生しません)。 Windows 7 マシンの Safari で。
成功した SWF オブジェクトと失敗した SWF オブジェクトについて気づいたことの 1 つは、失敗したオブジェクトはすべてビデオ コンテンツを中心に展開しているのに対し、成功したオブジェクトはそうではないということです。確かに私は半ダース以上のオブジェクトをテストしていませんが、それはまったくの偶然です。:)