随笔 - 49  文章 - 2  评论 - 376 
现在需要在网页上显示一个播放影视文件的ActiveX控件,但是我并不想页面刚加载便显示此控件,而是在缓冲完成后才显示此控件,缓冲完成之前在本该显示控件的地方显示一个广告。

    我尝试了两种方法,都没有成功。第一种是使用两个层,一个放广告,一个放控件,使用display='none'和display=''来实现页面初次加载时显示广告层,点击播放按钮并缓冲完成后显示控件层。但是我发现如果设置display='none',则控件并没有加载,所以点击播放按钮时调用其函数不成功。此方法未能实现。
    
    第二种方式如下:
<html>
<head>
<script language="JavaScript" type="text/JavaScript">
<!--
function load()
{
document.all['Layer1'].style.display
='none';
document.getElementById('Layer2').style.left
='11px';
document.getElementById('Layer2').style.top
='16px';
document.getElementById('Layer2').style.width
='500px';
document.getElementById('Layer2').style.height
='375';
}

//-->
</script>
</head>
<body>
<table width="10" height="10" border="0" cellpadding="0" cellspacing="0">
<tr>
<td height="10"><div id="Layer1" style="width:500px; height:375px; z-index:1; background-color: #FF0000; layer-background-color: #FF0000; border: 1px none #000000;"></div></td>
</tr>
<tr>
<td>
<br><br><br><br>
<input type="button" value="click" onClick="load()"><input type="button" value="click2" onClick="load()">
</td>
</tr>
</table>
<input type="button" value="click" onClick="load()">
<div id="Layer2" style="position:absolute; width:500px; height:375px; z-index:1; left: -9999px; top: -9999px; background-color: #FF0000; layer-background-color: #FF0000; border: 1px none #000000;"><!--此处放置控件,略去--></div>

</body>
</html>
也就是在开始将layer2放置在页面之外,在播放的时候可以移到页面之中,可以做到开始的时候页面不显示控件却可以加载控件的目的。这样做可以成功用layer2覆盖layer1,但是却奇怪的发现页面上的几个按钮一块消失了。我对DHTML不是很熟,希望高手可以帮我答疑解惑,或者有什么更好的方法?

红马天下 版权所有
博客:http://homer.cnblogs.com/
欢迎转载,但转载必须注明作者和出处。

posted on 2006-02-26 00:58 红马天下 阅读(811) 评论(6)  编辑 收藏 所属分类: Asp.Net

  回复  引用  查看    
2006-03-27 22:54 | S.Sams_1      
我觉得,你应该先将播放影视的文件(###.rm)先通过Iframe加载.
再在Iframe里面去做个事件 Onload="###",当加载完后,
再将刚刚加载的文件路径和播放影视ActiveX控件代码通过 Top.document.all.###.innerHTML='写到上层页面显示ActiveX控件的地方去;
只是一个思路.可以试试!
  回复  引用    
2006-05-29 20:48 | lullaby [未注册用户]
设置display='none' , ie 是不加载的,你可以使用style="width:0px;height:0px"来代替。
  回复  引用    
2006-06-06 01:59 | elovenana [未注册用户]
你为什么不 for="document" event="onreadystatechange"
if(document.readyState=="complete")
display="";
  回复  引用  查看    
2006-07-17 14:57 | DarkAngle      
换个思路解决问题,在要播放的视频里面加上广告.楼主有兴趣的话可以试一下,我没试过,只是看过这样的效果,不知道好不好做.
  回复  引用    
2007-01-01 05:19 | 云中千寻 [未注册用户]
我有几十种方法来处理这个问题,并非夸张....

标题  
姓名  
主页
Email (只有博主才能看到) 
验证码 *  看不清,换一张 [登录][注册]
内容(请不要发表任何与政治相关的内容)  
  登录  使用高级评论  新用户注册  返回页首  恢复上次提交      
该文被作者在 2006-02-26 11:18 编辑过


相关链接: