急需帮忙,网页activex,js调用方法时,提示错误“对象不支持此属性或方法”


急需帮忙,网页activex,js调用方法时,提示错误“对象不支持此属性或方法”

13 个解决方案

#1


这个可能性很多,js方法是否正确,变量是否对...

#2


看调用的函数是否正确啊。可能函数名写错了

#3


这是我写的js,大家给看看
<html>
<head>
</head>
<body>
<input id="here"/>
<input type="button" value='获取控件返回值'  onclick="javascript:ss()"/>
<object  id="it" name="it" classid="4EB5E6FF-69D2-4720-9C54-FD33E96B0E51"></object>
<script type="text/javascript" language="javascriipt">
function ss()
{
    document.getElementById("here").value=1;
    var a = it.test1();
}
</script>
</body>
</html>

#4


还有,我是用ATL做的dll项目,怎么转成ocx文件。是不是js只能调用ocx文件啊。

#5


楼主用错了一个地方的代码:
看我的代码:
<object id="AVT1" classid = "CLSID:B84B3851-7ACD-4C7D-A2FA-77001D710A30" 
        codebase="avt.cab#version=1,0,0,0" style="width: 50px; height: 65px" ></object>
                            
<script language = "JavaScript">   
   function Eb_onclick() {
      document.getElementById("AVT1").SetEnabled( -1 );
   }
   function Gt_onclick() {
      document.getElementById("AVT1").SetEnabled(  0 );
   }
</script> 


如果这样的话,楼主的应该改成:
function ss() 

    document.getElementById("here").value=1; 
    var a = document.getElementById("it").test1(); 

#6


var a = document.getElementById("it").test1(); 
这个我也试过了,还是报错“对象不支持此属性或方法”

#7


我详细说下我做的步骤,请大家看看有什么问题。
1.创建一个ATL项目
2.添加一个ATL简单对象类zz
3.在Izz接口类添加一个方法test1(包含一个输出参数outdata)
interface Izz : IDispatch{
[id(2), helpstring("方法test1")] HRESULT test1([out,retval] SHORT* outdata);
};
4.在zz.cpp中实现这个方法test1
STDMETHODIMP Czz::test1(SHORT* outdata)
{
// TODO: 在此添加实现代码
outdata=(short*)32767;

return S_OK;
}
5.选择regsvr32。编译
6.写了上述的js代码访问,结果报错了。

#8


换VBS试试,这个确实挺烦人的,我们作的时候都是JS和VBS混合着用,有的在JS里能用,在VBS里用不了,有的在VBS里能用,在JS里不能用。

#9


我用vbscript写的也报错 "对象不支持此属性或方法:'it.test()'"
sub write_onclick
dim ee
ee=it.test1()
end sub 

#10


我怀疑是我声明方法的时候出错了,麻烦各位高手给看一下
3.在Izz接口类添加一个方法test1(包含一个输出参数outdata) 
interface Izz : IDispatch{ 
[id(2), helpstring("方法test1")] HRESULT test1([out,retval] SHORT* outdata); 
}; 
4.在zz.cpp中实现这个方法test1 
STDMETHODIMP Czz::test1(SHORT* outdata) 

// TODO: 在此添加实现代码 
outdata=(short*)32767; 

return S_OK; 

#11


搞定,结贴。

#12


咋搞定的呀?
给出来解决方法吧

#13


怎么搞定的?

注意!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系我们删除。



 
粤ICP备14056181号  © 2014-2019 ITdaan.com

赞助商广告