IE插件加载问题调试

来源:互联网 发布:ubuntu jdk bin 编辑:程序博客网 时间:2024/06/05 03:43

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加载不了。