如何判断ocx控件在页面加载是不是成功

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何判断ocx控件在页面加载是不是成功相关的知识,希望对你有一定的参考价值。

参考技术A 使用object对象的readyState属性.
基本上每一个DOM对象都有这个属性,以判断对象加载的进度如何.

例如:

html代码
<html>
<head></head>
<object id="one"...>
...
</object>
<script>
window.onload=function()
var obj=document.getElementById("one");
//readyState为4时,代表完全加载了.
if(obj.readyState==4)
alert("加载成功!");
else
alert("加载失败!");


</script>
<body>
</body>
</html>

我试过加载flash.可以成功判断.但没试过加载dll,希望可以用吧.本回答被提问者和网友采纳
参考技术B

javascript检测系统中是否已经安装了某个ActiveX控件

try   
    var ax = new ActiveXObject("控件名称");  
    alert("已安装");  
 catch(e)   
    alert("未安装");  

控件名称一般类似于:“TestActivex.TestActivexCtrl.1”, 在TextActiveXCtrl.cpp中有:IMPLEMENT_OLECREATE_EX();

如果组件不是自己编写的,要确定控件名称,首先要知道控件的CLSID,CLSID可以在网页源代码中要引用它的地方找到。每个COM组件都会对应一个CLSID,可在IE管理加载项中获得其CLSID,然后在注册表的HKEY_CLASSESS_ROOT中查找CLSID,它的父节点的值就是创建该控件时所需的名称。

WebView如何判断页面真正成功加载?求大神帮助

因为项目需求,可能需要通过webview加载页面的真实状态来设定标记. 然后决定一些操作. 但是,WebViewClient中的onPageFinish()方法 还有WebChromeClient类中的获取progress进度的方法都存在问题(或者对我自己来说是有问题的). 1. 在无网络状态下, onPageFinish依然可以被调用. 是因为只是界面加载结束, 而不是界面加载完成么? 2. WebChromeClient的获取进度方法,也同样在无网络下达到100的最大值. 所以, 希望找到有效的,可以监听页面是否真正加载完毕,可以展示的方法. 望大家给及帮助~

参考技术A 你说的三个方法我都有尝试, 不过现在在用onReceivedError, 不过这个方法是页面出错时才调用. 我现在是需要两种标记, 就是说需要改变标记的状态, started或者finished方法是在onReceivedError之前执行, 但是如果onReceivedError执行了, 上面两个方法同样会再次执行. 这样标记就无法正确判断了. 所以想找一个在网页真正加载完毕,可以正常展示时调用的方法. 还有,如果想提高用户体验,添加一个进度条, 或者提示框, 上述的started和finished方法同样是不能使用的. 因为,它们两个不管如何都会被调用的. 查看原帖>>本回答被提问者采纳

以上是关于如何判断ocx控件在页面加载是不是成功的主要内容,如果未能解决你的问题,请参考以下文章

WebView如何判断页面真正成功加载?求大神帮助

IE浏览网页flash.ocx控件加载失败 怎么办啊啊?

我在WIN7下用VB6开发的小软件,其中用到toolbar等控件,为啥在XP下打不开工程,说加载OCX控件错误

如何安装ocx控件

C#如何动态加载RadioButton控件

VB 编写的OCX 如何取得当前页面的URL,必须兼容所有IE内核的浏览器(如360浏览器)