100分求一个奇怪的问题 ocx控件在客户端访问时无法加载,但是放到桌面上,建一个静态的HTML页面加载OCX控件就可以

时间:2021-02-17 08:33:57
奇怪问题,ocx控件在客户端访问时无法加载, 

但是放到桌面上,建一个静态的HTML页面加载OCX控件就可以 


怕各位不明白
换一个说法

就是说我在桌面上建一个html文件,ocx控件也放在桌面上,这样加载ocx就可以 


只要放在网站上,然后客户端浏览器加载时就加载不了

8 个解决方案

#1


友情up

#2


1.首先确认你使用控件的时候是否添加了codebase
<object id="AVT1" classid = "CLSID:B84B3851-7ACD-4C7D-A2FA-77001D710A30" 
         codebase="avt.cab#version=1,0,0,0" style="width: 50px; height: 65px" ></object>
2.确认你的CAB包能够顺利下载并安装,下载一般你不用管,安装需要写好里面的INF文件。

3.CAB包最好做好数字签名,使用MakeCab(代称),主要包括
    makecert.exe  制作cer格式的证书,即X.509证书,同时可以创建私钥和公钥。
    cert2spc.exe  将cer格式证书转换成spc格式证书,即PKCS #7证书。
    cabarc.exe    将ocx打包成cab。 
    signcode.exe  将证书签署到ocx上去。
    chktrust.exe  检查签署证书后的ocx是否正确。
    certmgr.exe   是管理证书用的。
具体到网上找这个文章: http://blog.csdn.net/qcdn/archive/2008/03/07/2156655.aspx看看。
4.本地调试什么的需要对IE8、IE7等进行一些设置,参考一下这个:
100分求一个奇怪的问题 ocx控件在客户端访问时无法加载,但是放到桌面上,建一个静态的HTML页面加载OCX控件就可以
5.检查你的ActiveX时候使用了其他的DLL,用Depends看看,如果那些DLL用户可能没有的,需要打进CAB包并在INF文件中体现,安装到指定的目录下。

#3


在网站上,然后客户端浏览器加载时就加载不了
能看看你网站上的html页面如何写的么?估计你没有打成cab包或者没有添加签名

#4


必须要打成cab包吗,直接调用ocx文件不可以吗


这是HTML代码引用页面
<object id=fybj classid=clsid:7AD826B4-05D7-4E61-B064-95B086BBF566 codebase=ocx/fybj.ocx#version=1,0,0,1 width=0 height=0 VIEWASTEXT>
  <span style=color:red>不能装载文档控件fybj.ocx。请在检查浏览器的选项中检查浏览器的安全设置。</span>
</object>

#5


IE里所有的关于ACTIVEX安全设置都已经启用了

#6


用Depends查看是否调用了第三方的DLL怎么看

系统自带的MFC的dll就不用打到cab里了吧?





#7


  把你的控件实现IobjectSafety 接口,就可以了

#8


这就和浏览器的安全设定有关,不同区域的默认安全级别不同。

#1


友情up

#2


1.首先确认你使用控件的时候是否添加了codebase
<object id="AVT1" classid = "CLSID:B84B3851-7ACD-4C7D-A2FA-77001D710A30" 
         codebase="avt.cab#version=1,0,0,0" style="width: 50px; height: 65px" ></object>
2.确认你的CAB包能够顺利下载并安装,下载一般你不用管,安装需要写好里面的INF文件。

3.CAB包最好做好数字签名,使用MakeCab(代称),主要包括
    makecert.exe  制作cer格式的证书,即X.509证书,同时可以创建私钥和公钥。
    cert2spc.exe  将cer格式证书转换成spc格式证书,即PKCS #7证书。
    cabarc.exe    将ocx打包成cab。 
    signcode.exe  将证书签署到ocx上去。
    chktrust.exe  检查签署证书后的ocx是否正确。
    certmgr.exe   是管理证书用的。
具体到网上找这个文章: http://blog.csdn.net/qcdn/archive/2008/03/07/2156655.aspx看看。
4.本地调试什么的需要对IE8、IE7等进行一些设置,参考一下这个:
100分求一个奇怪的问题 ocx控件在客户端访问时无法加载,但是放到桌面上,建一个静态的HTML页面加载OCX控件就可以
5.检查你的ActiveX时候使用了其他的DLL,用Depends看看,如果那些DLL用户可能没有的,需要打进CAB包并在INF文件中体现,安装到指定的目录下。

#3


在网站上,然后客户端浏览器加载时就加载不了
能看看你网站上的html页面如何写的么?估计你没有打成cab包或者没有添加签名

#4


必须要打成cab包吗,直接调用ocx文件不可以吗


这是HTML代码引用页面
<object id=fybj classid=clsid:7AD826B4-05D7-4E61-B064-95B086BBF566 codebase=ocx/fybj.ocx#version=1,0,0,1 width=0 height=0 VIEWASTEXT>
  <span style=color:red>不能装载文档控件fybj.ocx。请在检查浏览器的选项中检查浏览器的安全设置。</span>
</object>

#5


IE里所有的关于ACTIVEX安全设置都已经启用了

#6


用Depends查看是否调用了第三方的DLL怎么看

系统自带的MFC的dll就不用打到cab里了吧?





#7


  把你的控件实现IobjectSafety 接口,就可以了

#8


这就和浏览器的安全设定有关,不同区域的默认安全级别不同。