自从使用了Windows Vista上的IE7来浏览网站的时候(其实从IE6 SP2开始),经常会发现一些视频或者Flash网站出现了“单击此处以激活控件”的现象。现象就是在某些视频播放控件(Windows Media Player或者Real Player),或者是Flash动画,或者是其它有可视化界面的ActiveX控件的周围有一个虚线框,当鼠标移上去后,会显示“单击此处以激活控件”,只有当你在该控件上用鼠标单击或者按一下空格键,这个虚线框才会去掉,该ActiveX控件才可以正常使用。
其实要解决此问题非常简单,如果我们去看一下这个控件的代码,所有的ActiveX控件是使用内嵌式写入的。那么解决它就需要调用一下Java Script代码来解决。在JS中调用document.write("<object classid='XXXXXXXX'...的方式来往页面上写ActiveX控件就不会解决此问题。
为什么会有这种提示呢?原理也很简单,目前Web 2.0的出现,使网民开始当家做主。所有的网民均可以使用HTML Editor控件往我们的网站中输入内容,如果有人心怀恶意,用这种方式种一个木马ActiveX,而客户在不知情的情况下下载使用了,可能会带来灾难性的后果。所以微软会在IE6 SP2以后,提供这种方式以便对这种ActiveX的行为进行限制,只有当用户确认了才会激活此控件,允许它进行操作。
所以一些大型网站目前需要更改一下它们的代码,不要再使用内嵌式方法写入ActiveX控件,而改用Java script动态加载。比如CSDN目前的视频栏目其实就有这个问题。
其实要解决此问题非常简单,如果我们去看一下这个控件的代码,所有的ActiveX控件是使用内嵌式写入的。那么解决它就需要调用一下Java Script代码来解决。在JS中调用document.write("<object classid='XXXXXXXX'...的方式来往页面上写ActiveX控件就不会解决此问题。
为什么会有这种提示呢?原理也很简单,目前Web 2.0的出现,使网民开始当家做主。所有的网民均可以使用HTML Editor控件往我们的网站中输入内容,如果有人心怀恶意,用这种方式种一个木马ActiveX,而客户在不知情的情况下下载使用了,可能会带来灾难性的后果。所以微软会在IE6 SP2以后,提供这种方式以便对这种ActiveX的行为进行限制,只有当用户确认了才会激活此控件,允许它进行操作。
所以一些大型网站目前需要更改一下它们的代码,不要再使用内嵌式方法写入ActiveX控件,而改用Java script动态加载。比如CSDN目前的视频栏目其实就有这个问题。
![](https://i-blog.csdnimg.cn/blog_migrate/7a9f8c2f833206445a63e9b8dc5b1286.gif)