IE插件常见加载问题
- IE安全设置不允许
- 插件没有正确安装
- 插件没有足够权限访问资源
- 64位IE
IE Active X插件相关设置
http://technet.microsoft.com/en-us/library/dd346862.aspx
http://support.microsoft.com/kb/182569?wa=wsignin1.0
http://windows.microsoft.com/en-US/windows-vista/Change-Internet-Explorer-Security-settings
IE插件在网页中使用方式一般如下,
<!DOCTYPE html>
<html>
<body>
<object width="400" height="40"
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"
codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0">
<param name="SRC" value="bookmark.swf">
<embed src="bookmark.swf" width="400" height="40"></embed>
</object>
</body>
</html>
插件安装以及访问权限检测
其中classid对应的guid就是插件COM对象注册的CLSID。通过在注册表中搜索这个ID可以验证该插件是否已经安装。HKCR\CLSID\{D27CDB6E-AE6D-11cf-96B8-444553540000}
如果确定了该ID存在于注册表项,接下来可以查看访问网页的时候该注册表项是否被成功访问。可以使用process monitor抓trace来看注册表项访问成功与否。是否存在与该注册表项相关的access denied请求。
也有少量插件需要访问一些其他资源,例如本地目录,虽然加载成功,但是后续资源访问出现异常同样可能导致与加载不成功类似的现象,同样可以通过process monitor来检测后续是否存在失败的访问请求。
另外判断插件是否加载成功也可以通过Process Explorer来查看进程中加载的dll或者ocx文件,来判断该插件是否已经成功被加载到进程。
64位IE
还有一点需要注意的是要检查一下运行的IE是32位还是64位版本,因为一般插件都是为32位IE提供的,64位版本的IE加载不了。