最近开发了一个网页调用的ATL控件,并包打成cab和完成数字签名的工作。
测试环境:XP、Win2003、Win2008,都在IE中设置允许运行未签名的ActiveX。
网页中的引用代码如下:
<object id="tt" classid="clsid:BFEE3698-F907-41B4-85FA-490496131A2B" codebase="http://www.xxx.com/atlcom.cab#version=1,0,0,1" width="0" height="0"></object>
运行情况:直接用IE打开时会提示javascript错误,不能执行ATL中的方法;如果用傲游或GreenBrowser浏览访问,却能正常执行ATL中的方法。
请问出现这情况是什么原因?另外,如果要进行有效认证的数字签名,要到哪个网站去申请和付费?
测试环境:XP、Win2003、Win2008,都在IE中设置允许运行未签名的ActiveX。
网页中的引用代码如下:
<object id="tt" classid="clsid:BFEE3698-F907-41B4-85FA-490496131A2B" codebase="http://www.xxx.com/atlcom.cab#version=1,0,0,1" width="0" height="0"></object>
运行情况:直接用IE打开时会提示javascript错误,不能执行ATL中的方法;如果用傲游或GreenBrowser浏览访问,却能正常执行ATL中的方法。
请问出现这情况是什么原因?另外,如果要进行有效认证的数字签名,要到哪个网站去申请和付费?
设置 > 安全 > 允许非签名的控件下载.2. javascript错误是什么? 在脚本中用try{...}catch(e){alert(e.message);}看弹出什么错误?3. 数字签名需要购买, 参考:
http://msdn.microsoft.com/en-us/library/ms995347.aspx
首先感谢你的回复。
1. 前面提问时已提到允许非签名的控件下载和运行。
2. javascript的错误信息就是:“对象不支持此属性或方法”。
但是同样的URL,如果用傲游和GreenBrowser这些用IE内核的浏览器却能正常执行并得到最终想要的结果。
另外, 多找几台机器测试下(在IE browser中)
由于是网页JS调用ATL里面的方法,一般xp下IE会报警“执行不安全的ActiveX交互”,到了vista下面,IE7直接就禁止了,报警都不报了
在ATL里面将COM接口增加一个IObjectSafety支持,即可解决但是看楼主又说测试环境2000,xp,按理说不会是我说的这个问题