描述:
我用VC写了一个OCX控件,功能是运行本地的一个软件。
但奇怪的是这个控件在TT和MyIE中都完全可以调用,没有问题,直接打开要本地的HTML文件也可以调用该OCX,但是把这个HTML放到服务器上,通过IIS来访问的时候总是提示出错,以下是出错信息:
行:30
字符:3
错误:对象不支持此属性或方法
URL: http://xxx.xxx.cn/xxx.asp (这是调用该OCX的页面)
这真是让我百思不得其解,请高手帮忙
我在网页中是如此写的:
<object classid="clsid:49C8B529-725E-4611-9326-16BA1190AFA0" id="RunClient" name="RunClient" width="0" height="0" codebase="../../system/RunClient.ocx#version=1,0,0,1">
<a href="#" /a>
<script language=vbscript>
Sub OnEnter(param)
document.RunClient.Run "SOFTWARE\SoftID\", "zWork.exe", param
End Sub
</script>
解决方案1:
Safe Initialization and Scripting for ActiveX Controls
MSDN中有相关的说明
我的问题解决了
楼主也可以看看这个贴子
http://search.csdn.net/Expert/topic/877/877645.xml
我也遇到了这样的问题,不过我比你的还要奇怪,
我如果这样访问的的话,http://localhost/test.htm,控件可以使用
但如果我用ip访问,如 http://192.168.0.95/test.htm访问,就报错
(192.168.0.95 是局域网里我的ip)
你在服务器上注册了没有?
方法是regsvr32 你的控件名!
codebase 指向不对
解决方案6: Seems like a security issue.
Is your ActiveX marked safe for script and impletemented IObjectSafety?
codebase="../../system/RunClient.ocx#version=1,0,0,1">
服务器这个路径下面有有这个文件吗?
http://xxx.xxx.cn/xxx.asp
-----------
你的这个页面到底是asp还是html啊??
看你的代码像是html,怎么又是asp了呢。
到IIS上就不行
----------
路径对没有?
去看看客户机上有没有下载下来。
还有出错的是哪一行?
这一行吗?
document.RunClient.Run "SOFTWARE\SoftID\", "zWork.exe", param
首先你的OCX要访问客户端磁盘文件,这在网页安全中是不允许的.
1
你试试在服务器本机上访问服务器网页;
2
你试试在客户端降低IE安全级别后再访问;