2013-02-18 134 views
0

我想通过ActiveX使用WonderWare的一些软件。我已经得到了该对象的出现,但我想要传递一些参数,并且不必每次都设置对象。有两个版本的控件ActiveX和.NET。我还没有得到.NET控制工作,但我可以得到ActiveX /不是参数。通过Javascript控制ActiveX控件

这里是什么手册说一下吧:

的aaHistClientTrend控制允许您运行从 Wonderware公司的InTouch HMI软件或内Wonderware的 历史学家客户端趋势程序(或功能的子集)。 .NET容器,如Visual Basic .NET或Internet Explorer。

的HTML代码,我有:

<html> 
<head> 
<body> 
    <object id="aTrend1" classid="clsid:E08609F1-58CC-11D3-B1CF-00105AA45077" viewastext="" height="100%" width="100%" /> 
</body> 
</head> 
</html> 

我试着通过传递参数:

<script language="JavaScript"> 
    document.aTrend1.TagPickerVisible = false; 
</script> 

而且它崩溃的Internet Explorer。

编辑:任何想法?

+0

TagPickerVisible不是此对象的属性。附上的代码列出了它的成员和方法。 'var d = []; for(var i in document.aTrend1) d.push(i); d.sort(function(a,b){return a> b}); for(var i = 0; i CBusBus 2013-02-20 18:23:49

+0

你是说要运行该命令,它会列出可用的成员和方法?如果是这样,console.log存储在哪里,我可以看到一个列表? – 2013-02-21 18:49:37

+1

console.log()是一个firefox萤火虫扩展方法。如果你不使用萤火虫,你可以随时以写入或其他方式写入文件来代替控制台调用。 – CBusBus 2013-02-21 18:59:27

回答

0

我想出了一个办法。不知道这是唯一的方法,但它的工作原理。

<html> 
<head> 
<script> 
function fxnTrend() 
    { 
    aTrend1.ToolBarVisible = false; 
    aTrend1.TagPickerVisible = false; 
    aTrend1.RealTimeMode = true; 
    aTrend1.TimeBarVisible = false; 
    aTrend1.GridVisible = false; 
    } 
    fxnTrend(); 
</script> 

<body onLoad="fxnTrend()"> 
    <object id="aTrend1" classid="clsid:E08609F1-58CC-11D3-B1CF-00105AA45077" viewastext="" height="100%" width="100%" /> 
</body> 
</head> 
</html>