Safari WIndows 和透明 Flash

2023-11-30

// 编辑:该问题现在似乎仅限于 Windows 版 Safari。

大约在 Windows 4 版 Safari 发布时,我开始从用户那里听到 wmode=transparent 不再在 Safari 中工作。

我已经用谷歌搜索了很多次,但没有找到任何答案。我尝试过使用标签而不是脚本来嵌入 Flash 来减少干扰,但没有成功。

一个例子在这里:http://hiv411.org/safari.php交替嵌入脚本http://hiv411.org/

所有视频均使用wmode=transparent并通过标签嵌入。除了 Safari 之外,我所有的浏览器都可以正常工作。

safari.php 上的代码如下所示

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" name="test" width="289" height="263" align="middle" id="test">
<param name="allowScriptAccess" value="sameDomain" />
<param name="allowFullScreen" value="false" />
<param name="movie" value="swfs/BBattLeft.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" />
</object>

非常感谢任何帮助!


UPDATE:问题出在 windows safari 的 Flash Player 上,但在 Flash Player 版本 10.0.45.2 后已解决

是的,仅适用于 Windows 上的 Safari! 有趣的是,互联网上没有太多关于此问题的文章,我也遇到过同样的问题,我一开始猜测它的 bgcolor 的默认值是#FFFFFF,我尝试将其设置为透明(不是 wmode 而是 bgcolor) !)。它仍然可以在其他所有浏览器中使用,但在 Safari 中它是绿色的(所以不要尝试这个!并且错误不是因为“透明”这个词没有被定义!我试过了!)。 似乎我们必须等待苹果在下一个版本中修复它,但如果你想更改背景颜色,如果你下面只有纯色,你可以使用:

如果您使用 adobe 脚本或 javascript 来显示 Flash(推荐)

<!--html-->
<script src="[adobe flash detector script]">
AC_FL_RunContent( 'wmode', 'transparent','bgcolor', 'xxxxxx');
</script>
>

否则,如果您使用 embed 和 or 作为


 <param name="wmode" bgcolor="#xxxxxx" value="transparent">

...aslo


 <embed wmode="transparent" bgcolor="#xxxxxx">
if you wanna detect safari on windows and not display it - or maybe give the the least 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';
> if you have php it's better to do it with php as changing DOM elements with js makes page load slower and requires javascript
<?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 语句并将它们分开

如果有人找到更好的选择,我将很高兴在这里阅读!

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

Safari WIndows 和透明 Flash 的相关文章

随机推荐