我正在开发一款在 Facebook 上运行的 Flash 播放器游戏。我正在尝试检测客户端浏览器是否使用 swfobject.js (version2.2) 安装了 Flash 播放器插件。我的游戏在 facebook 上的 iframe 内运行。这是我的代码片段:
<iframe src='....'>
//content inside the iframe
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/swfobject/2.2/swfobject.js"></script>
<script type="text/javascript">
var playerVersion = swfobject.getFlashPlayerVersion();
if(playerVersion.major >= 14) {
swfobject.embedSWF(......); //code for loading swf object
}else{
document.write("<a href='https://www.adobe.com/go/getflashplayer' alt='To view this page ensure that Adobe Flash Player version 14 is installed. Get Adobe Flash player.' id='installFlashContent'></a>");
}
</script>
.....
</iframe>
swfobject.getFlashPlayerVersion () - 这将返回 0,即使我的 Firefox 浏览器上安装了 Flash 播放器插件。
如果直接打开我的 iframe(右键单击 > This Frame > Open Frame in New Tab),则 Flash 播放器被正确检测为:
{
major : 28
minor : 0
release : 0
}
深入研究代码, 当我在 Facebook 上运行代码时,我发现 swfobject.js中的navigator.plugins.length返回 0。
对此有什么想法吗?先感谢您。