2012-01-31 60 views
2

当我访问我在IE中创建的网站时,浏览器底部的消息栏弹出,表示该网站想运行Flash。Flash想运行,但网站上没有flash

这很好,除了在网站上没有任何闪光的事实。

这是什么原因造成的? Flash现在如何进入网站?这是一个安全问题吗?

+0

你怎么知道网页上没有flash?从看它,还是从查看源代码?请注意,有些页面使用FlashPlayer用于文件上传或音频回放,在这种情况下,他们可能以各种方式隐藏玩家的视野(例如1x1像素大小等)。 – JimmiTh 2012-01-31 11:09:42

+1

我知道这里没有闪光灯,因为我建了它!没有上传控制或a/v播放器。 – danwellman 2012-01-31 11:15:50

+0

对不起,错过了那一点。它在其他电脑上也一样吗?如果可能的话,最简单的办法就是让我们看看有问题的网站。就个人而言,在10年的Flash调试中,我从来没有听说过来自IE的误报 - 例如,在静态HTML中没有“”代码的flash消息或注入(尽管它可能*当然可以通过浏览器)。 – JimmiTh 2012-01-31 11:49:11

回答

5

看完页面后,Google Analytics尝试实例化FlashPlayer以检查它是否已安装以及它的版本是否已触发。这样做足以导致IE认为它应该通知您该页面正在尝试使用Flash。

更新

通过开发工具脚本调试程序发送它,果然,执行的ga.js的内容的那一刻,弹出消息。

任何有兴趣,特别是,它很可能是“美化”这段代码(不能告诉是肯定的,因为开发者工具想不通的精缩脚本):

if (!(b = Zc)) { 
    var c, d, e; 
    d = "ShockwaveFlash"; 
    if ((b = (b = U[va]) ? b.plugins : g) && 0 < b[u]) 
    for (c = 0; c < b[u] && !e; c++) 
     d = b[c], -1 < d[q][p]("Shockwave Flash") && (e = d.description[w]("Shockwave Flash ")[1]); 
else { 
    d = d + "." + d; 
    try { 
     c = new ActiveXObject(d + ".7"), e = c.GetVariable("$version") 
    } catch (f) {} 
    if (!e) try { 
     c = new ActiveXObject(d + ".6"), 
     e = "WIN 6,0,21,0", 
     c.AllowScriptAccess = "always", 
     e = c.GetVariable("$version") 
    } catch (l) {} 
    if (!e) try { 
     c = new ActiveXObject(d), e = c.GetVariable("$version") 
    } catch (o) {} 
    e && (e = e[w](" ")[1][w](","), e = e[0] + "." + e[1] + " r" + e[2]) 
} 
b = e ? e : "-" 

。 ..这相当于一个非常标准的FlashPlayer版本检测。

+0

优秀的演绎,谢谢:至少我知道该网站没有被黑客入侵过! – danwellman 2012-01-31 12:52:18

5

谷歌分析flash版本检测可以通过添加以下到您的GA代码(前_trackPageview)被关闭:

_gaq.push(['_setDetectFlash', false]); 

这是我做的,当面临着同样的问题。我没有计划在我的网站上使用Flash,所以我不需要这种统计数据。

+0

一个伟大的提示,谢谢:) – danwellman 2013-02-14 21:50:39