我在IE中嵌入了一个VC写的控件,然后控件的所有方法和属性的访问都正常,但是就是用Javascipt写的代码里面不能响应该事件(就是IE没有反映,也不抱任和错误),控件的事件在ActiveX测试容器中是正常的。谁碰到过类似的问题啊?
IE代码:
<html>
<head>
<script language="javascript">
<!--
function AgentStateChange(state,env,timestamp)
{
alert(state);
}
function InitializeOcx()
{
//var ocxAgent=new AgentOcx();
var nRet=ocxAgent.Initialize("tcp","192.168.1.200","11000");
alert(nRet);
ocxAgent.attachEvent("OnStateChange2",AgentStateChange);
}
function ReleaseOcx()
{
ocxAgent.Release();
}
function AgentLogin()
{
var nRet=ocxAgent.Login("liugang","","1899");
alert(nRet);
/*alert(ocxAgent.AgentName);
alert(ocxAgent.AgentGroup);
alert(ocxAgent.AgentType);*/
}
function AgentLogout()
{
var nRet=ocxAgent.Logout();
alert(nRet);
}
//-->
</script>
</head>
<body onload="InitializeOcx();" onunload="ReleaseOcx();">
<OBJECT id=ocxAgent classid=CLSID:C41ACE17-6DFB-4644-B84A-134B5499A72C name=ocxAgent VIEWASTEXT event="true">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="1905">
<PARAM NAME="_ExtentY" VALUE="635">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
<script type="text/javascript" for="ocxAgent" event="OnStateChange()" defer>
alert("State");
</script>
<a href="javascript:AgentLogin();">注册</a><p>
<a href="javascript:AgentLogout();">注销</a>
</body>
</html>
IE代码:
<html>
<head>
<script language="javascript">
<!--
function AgentStateChange(state,env,timestamp)
{
alert(state);
}
function InitializeOcx()
{
//var ocxAgent=new AgentOcx();
var nRet=ocxAgent.Initialize("tcp","192.168.1.200","11000");
alert(nRet);
ocxAgent.attachEvent("OnStateChange2",AgentStateChange);
}
function ReleaseOcx()
{
ocxAgent.Release();
}
function AgentLogin()
{
var nRet=ocxAgent.Login("liugang","","1899");
alert(nRet);
/*alert(ocxAgent.AgentName);
alert(ocxAgent.AgentGroup);
alert(ocxAgent.AgentType);*/
}
function AgentLogout()
{
var nRet=ocxAgent.Logout();
alert(nRet);
}
//-->
</script>
</head>
<body onload="InitializeOcx();" onunload="ReleaseOcx();">
<OBJECT id=ocxAgent classid=CLSID:C41ACE17-6DFB-4644-B84A-134B5499A72C name=ocxAgent VIEWASTEXT event="true">
<PARAM NAME="_Version" VALUE="65536">
<PARAM NAME="_ExtentX" VALUE="1905">
<PARAM NAME="_ExtentY" VALUE="635">
<PARAM NAME="_StockProps" VALUE="0">
</OBJECT>
<script type="text/javascript" for="ocxAgent" event="OnStateChange()" defer>
alert("State");
</script>
<a href="javascript:AgentLogin();">注册</a><p>
<a href="javascript:AgentLogout();">注销</a>
</body>
</html>
解决方案 »
- 求QR码的译码库
- 列表框的问题!
- 有人真正捕捉到过WM_MOUSELEAVE吗?捕捉过的人请进,没写过代码光会YY人请离开
- 能不能将CEDIT框选中时光标不显示的啊!
- 请问CString类型的变量中存储了一个字符号串,如何来挨个取它的每一位的字符?
- 怎样在对话框的左上角加上自己的图标?替代掉VC自己带的那一个?
- 各位用过PostThreadMessage()和PeekMessage()函数进行过线程间通信的大侠请进。
- ADO+Access如何动态设置密码?
- yoboo_yb兄进来拿分,先给20,你进来再加到300
- PreTranslateMessage里如何获取当前按下按键的个数
- 请问vc 2005中的MFC开始时候是否选择“使用Unicode 库(N)”有何区别啊?
- 在MFC中如何调用IE打开指定路径的文件
嵌入到IE中的情况下,能在你的控件里使用自定义光标吗?你的控件能响应keydown事件吗?
谁知道该如何解决?
然后你在IE中处理XXX的事件就OK了.
KEYDOWN没试过,好像也可以的.
调用InPlaceActivate(OLEIVERB_UIACTIVATE);