关于IWebBrowser2支持object标签的codeBase属性的问题

影中踪影 2016-05-03 05:06:39
基于IWebBrowser2的浏览器打开页面,如果页面中的object标签设置了codeBase属性,使用javascript去调用object的方法时提示方法不是对象的方法,如果去掉codeBase熟悉就一切正常,页面代码如下:
<html>  
<head>
<title>LoginSign</title>
</head>
<body>
<div>
<object id="LoginSignOcx" classid="clsid:20F0DEAC-07A4-433E-AA9D-439609630D9D" codebase="LoginSignOcx.cab#version=3,1,1,8"></object>
<script type="text/javascript">
function onCertLogin() {
var LoginSignOcx = document.getElementById("LoginSignOcx");
try {
LoginSignOcx.Login();
} catch(e) {
alert("装载证书组件出错!\n请确认浏览器是否支持以及开启证书组件!");
return false;
}
}
</script>
<input id="login" type="button" value="登陆" onclick="onCertLogin()" />
</div>
</body>
</html>
...全文
275 1 打赏 收藏 转发到动态 举报
写回复
用AI写文章
1 条回复
切换为时间正序
请发表友善的回复…
发表回复
影中踪影 2016-05-04
  • 打赏
  • 举报
回复
已换思路解决。通过IHTMLWindow的execScript替换javascript中onCertLogin方法,在新的onCertLogin直接使用new ActiveXObject创建新的对象

703

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder ActiveX/COM/DCOM
社区管理员
  • ActiveX/COM/DCOM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧