2013-02-18 73 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>