js的document.write 输出内容把网页内容全部冲刷掉了

onload的时候执行  文档流已经关闭  write会重新打开文档流 所以覆盖了

用innerHTML的话不会执行里面的script吧?
可以先生成一个节点,然后append到body。


<script type="text/javascript">

var bg_sound=document.createElement("bgsound");//创建背景音乐

bg_sound.id="i_bg"//设置id属性

document.body.appendChild(bg_sound);//body中添加背景音乐

//bg_sound.src="ttmp3.mp3";

i_bg.src="ttmp3.mp3";//设置一个背景音乐文件

//应该也可以用write写出来,可以试下效果。

function bg_stop(){

  i_bg.src="";

}

function bg_start(){

  i_bg.src="ttmp3.mp3";

}

</script>

<span ><a οnclick="javascript:bg_stop();" href="javascript:void(0);">背景音乐停止</a></span>  <span ><a οnclick="javascript:bg_start();" href="javascript:void(0);">背景音乐开始</a></span>



用js改变embed标签的src值

今天有一需求,一堆视频,一堆链接,点击相关的链接,在本页打开相关的视频。

第一想法,很简单么,直接把src值改成点击的那个的href值就可以了。

试了下,发现这样不行,视频该怎么放还是怎么放,永远是刚打开那个。

第二想法,给embed外面加个标签,把里面内容清空,再写进去,这样总可以了吧。

试了下,和上面一样,依旧不行。

又试了许多类似方法,还是不行。

最后,想的,把embed标签隐藏(display:none),再清空试下。

终于可以了。哎浪费了一上午时间。

 

代码如下

复制代码
var tabv = document.getElementById("f_tabv");
var tabva = tabv.getElementsByTagName("a");
var tabcv = document.getElementById("f_tab_cv");
tabcv.innerHTML = '<EMBED src="abc.wmv" autostart="true" width="545" height="325" type="video/x-ms-asf"></EMBED>';
for(var i=0; i<tabva.length; i++){
  tabva[i].onclick=function(){
      var href1 = this.getAttribute("href");
        var href2 = '<EMBED src="'+href1+'" autostart="true" width="545" height="325" type="video/x-ms-asf"></EMBED>';
        tabcv.getElementsByTagName("embed")[0].style.display="none";
        tabcv.innerHTML="";
        tabcv.innerHTML=href2;
        for(i=0; i<tabva.length; i++){
          tabva[i].className='';
        }
        this.className = "act";
        return false;
    }
}
复制代码


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值