更新:問題は Windows サファリ用の Flash Player にありますが、Flash Player バージョン 10.0.45.2 以降では解決されています。
はい、Windows の Safari のみです。そして興味深いのは、これについてインターネット上であまり書かれていないことです。私は同じ問題を経験しています。最初は、bgcolor のデフォルト値が #FFFFFF であると推測し、それを透明 (wmode ではなく bgcolor) に設定しようとしました!)。他のすべてのブラウザではまだ動作しますが、Safari では緑色でした (それを試してはいけません! 透明という言葉が定義されていないというバグではありません! 私は試しました!)。Apple が次のバージョンで修正するのを待つ必要があるようですが、背景色を変更したい場合は、下に単色しかない場合に使用できます。
Adobe スクリプトまたは JavaScript を使用してフラッシュを表示している場合 (推奨)
<!--html-->
<script src="[adobe flash detector script]">
AC_FL_RunContent( 'wmode', 'transparent','bgcolor', 'xxxxxx');
</script>
>
<noscript> に埋め込みおよびまたはを使用している場合:
<param name="wmode" bgcolor="#xxxxxx" value="transparent">
...また
<embed wmode="transparent" bgcolor="#xxxxxx">
Windowsでサファリを検出して表示したくない場合-または、最小のzindexを指定する場合:
//Javascript:
var isSafari = (navigator.userAgent.indexOf("Safari") != -1) ? true : false;
var isWindows = (navigator.userAgent.indexOf("Windows") != -1) ? true : false;
if (isSafari && isWindows) document.getElementById('yourflashid').style.display = 'none';
if (isSafari && isWindows) document.getElementById('yourflashid').style.Zindex = '-1000';
> php を使用している場合は、js で DOM 要素を変更するとページの読み込みが遅くなり、javascript が必要になるため、php で行うことをお勧めします。
<?php
//PHP
/* i like to make a .php external css style sheet
(you have to have a transitional HTML document!
or most browsers will not read it beacuse of difference in MIME types!)*/
function agent($browser) {
$useragent = $_SERVER['HTTP_USER_AGENT'];
return strstr($useragent,$browser);
}
if(agent("Safari") != FALSE) {
if(agent("Windows") != FALSE) { // on windows
?>
#myflash {display:none;}
#verisignflash {z-index:-100; /* for example I already made #000 bgcolor for this and looks right*/
<?php
} //All Safari's
}
...そして、残りの部分は互換性があるように見えるので、一般的にSafariのコードです! ただし、ここに and else ステートメントを追加して、それらを区切ることができます
誰かがより良いオプションを見つけたら、ここでそれを読んでうれしいです!