我自己开发了个activex,插入在网页里 <object id="helloworld"
classid="clsid:33bef89c-9c27-4e8e-abbb-675cd64181c1" Width="184" Height="96" codebase="<%=basepath%>setup.cab" class="helloworld">
</object>路径绝对是没错的 cab包也用证书生成了 ,可是为什么我在自己机子上访问是可以 然后别人访问我的网页,有提示安装cab包,可是装完怎么没显示出activex . 我是在IE6下测试
classid="clsid:33bef89c-9c27-4e8e-abbb-675cd64181c1" Width="184" Height="96" codebase="<%=basepath%>setup.cab" class="helloworld">
</object>路径绝对是没错的 cab包也用证书生成了 ,可是为什么我在自己机子上访问是可以 然后别人访问我的网页,有提示安装cab包,可是装完怎么没显示出activex . 我是在IE6下测试
可能是问题机器的IE级别造成,
如果你是自己写的证书,就是不信任的证书了,可能会被ie禁用了
在不能加载的机器上用dependance看看有没有问号?
增加一个public IObjectSafetyImpl<你的控件类,INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>,是告诉浏览器你的控件是安全的,浏览器不在提示你!
<object id="webphone1" height="22" width="202" data="web/CCiPhone.CAB#version=1,0,0,1" codeBase="web/CCiPhone.CAB#version=1,0,0,1" classid="CLSID:7075926E-A172-482C-9CE4-5B1C0C6DD7DC"
name="webphone1" viewastext="viewastext">
<embed src="web/CCiPhone.CAB#version=1,0,0,0" name="webphone1">
</embed>
</object>
这个要加在哪里?我这样子怎么不行:class CActiveXtestCtrl : public COleControl,public IObjectSafetyImpl<CActiveXtestCtrl,INTERFACESAFE_FOR_UNTRUSTED_CALLER | INTERFACESAFE_FOR_UNTRUSTED_DATA>
2、如果控件文件已经下载,可通过手动注册测试一下。
3、如果没有文件,那么就是下载失败,这是IE设置的问题,可以通过IE设置中和控件有关的选择解决。
classid="clsid:33bef89c-9c27-4e8e-abbb-675cd64181c1" Width="184" Height="96" codebase="<%=basepath%>setup.cab" class="helloworld">
</object>把<%=basepath%>换成你的相对路径(web/)即可。写上你控件的版本号,类似下面的写法。
<object id="helloworld" height="22" width="202" data="web/setup.CAB#version=1,0,0,1" codeBase="web/setup.CAB#version=1,0,0,1" classid="CLSID:33bef89c-9c27-4e8e-abbb-675cd64181c1"
name="helloworld" viewastext="viewastext">
<embed src="web/CCiPhone.CAB#version=1,0,0,1" name="helloworld">
</embed>
</object>如果还是有问题,把你的代码发到[email protected]