求助! 在javascript中增加一个alert, 后面的程序就可以正常执行,请问如何才能在不加alert的情况下使用程序能正确运行 ? 谢谢
var sHTML = "<object id=\"Wb\" classid=\"clsid:F2A9770D-BDAD-46BD-BFC2-F6DAB2DB9671\""
+"codebase=\"c:/wb/wb.dll\" width=\"100%\" height=\"100%\" "
+"</object>"//
banner.innerHTML=(sHTML);alert("version");//就是这一句, 如果有,则后面的document.getElementById能成功,否则不成功
var x=document.getElementById("Wb");
if (x.Caption==undefined)
{}
else
{}
var sHTML = "<object id=\"Wb\" classid=\"clsid:F2A9770D-BDAD-46BD-BFC2-F6DAB2DB9671\""
+"codebase=\"c:/wb/wb.dll\" width=\"100%\" height=\"100%\" "
+"</object>"//
banner.innerHTML=(sHTML);alert("version");//就是这一句, 如果有,则后面的document.getElementById能成功,否则不成功
var x=document.getElementById("Wb");
if (x.Caption==undefined)
{}
else
{}
banner.innerHTML=sHTM;
setTimeout(function(){
var x=document.getElementById("Wb");
alert(x);
if (x.Caption==undefined)
{}
else
{}
},0);
var x=document.getElementById("Wb");
if(!x){setTimeout(checkedObj,100); // 递归判断
return;
}
if (x.Caption==undefined)
{}
else
{}
}
准备搞一个延时函数试试
你加一个 window.onload =function(){
var x=document.getElementById("Wb");
if (x.Caption==undefined)
{}
else
{}
}
这样会等所有的doc结构以及元素全部加载完毕之后 才会执行的,试试看,
如果不行 把你的object 也放进来onload事件里面看看
setTimeout(function(){
var x=document.getElementById("Wb");
if(x){
if (x.Caption==undefined)
{}
else
{}
}
else
{
setTimeout(argument.callee,50);
}},50);
//alert("version");//就是这一句, 如果有,则后面的document.getElementById能成功,否则不成功
var work=function(){
var x,count=0, //x为局部变量,count为计数器
checkCount=20, //checkCount为最多尝试多少次去查找wb,这里为20次
interval=50, //interval为多长时间尝试查找一次,这里为50毫秒
check=function(){
x=document.getElementById("Wb");
count++;
if(x!=null){
//找到wb后想要干什么在此处理
if (x.Caption==undefined)
{}
else
{}
}
else if(count>checkCount){
alert('已经过了一秒多了,还是没能找到对应的dom对象');
}
else{
setTimeout(check,interval);
}
};
check();
};
work();
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312"><title>无标题文档</title>
</head>
<body >
<div id="bannerH"></div>
<div class="div_css">测试</div>
</body>
<script>
var sHTML = "<object id=\"Wb\" classid=\"clsid:F2A9770D-BDAD-46BD-BFC2-F6DAB2DB9671\""
+"codebase=\"c:/wb/wb.dll\" width=\"100%\" height=\"100%\" "
+"</object>"
var banner = document.getElementById("bannerH");
banner.innerHTML=(sHTML);
//alert("version");//就是这一句, 如果有,则后面的document.getElementById能成功,否则不成功
var x=document.getElementById("Wb");
alert(x);
if (x.Caption==undefined)
{}
else
{}
</script>
</html>
有同学使用循环查找的,设置,我觉得,这样不是太好,别拿人家的电脑玩过家家嘛。
准备用onload的方法再试试,有结果再汇报吧
我后面没用这段代码,采用NPAPI搞定。 谢谢大家参与!