当innerHTML遇到flash壳

今天在整嵌入flash的页面,遇到两个问题,记录下来以备忘

1)将flash壳代码赋给innerHTML的问题
代码段1) 写了一段js代码,返回一个flash壳
function  getShell(vname,vpath) {
    
var str= "<object width='147' height='121'>";
      str
+="<param name='movie' value='http://xx.com/xplayer.swf?v="
      str
+=vname;
      str
+="&p=";
      str
+=vpath;
      str
+="&autoplay=0'></param>";
      str
+="<embed src='http://xx.com/xplayer.swf?v="
      str
+=vname;
      str
+="&p=";
      str
+=vpath;
      str
+="&autoplay=0' type='application/x-shockwave-flash' width='147' height='121'></embed>";
      str
+="</object>";
    
    
return str;
}
接着
代码段2)
 
。。。。
xx.innerHTML
= getShell(vname,vpath);
。。。。

这2段代码在firefox下是好的,ie就莫名其妙了,于是将代码段1改成如下,就两个浏览器都好了
function  getShell(vname,vpath) {
    
var str= "<embed src='http://txx.com/xplayer.swf?v="
      str
+=vname;
      str
+="&p=";
      str
+=vpath;
      str
+="&autoplay=0' type='application/x-shockwave-flash' width='147' height='121'></embed>";
    
    
return str;
}

即只留下embed部分

2) flash处理完毕调用本页面的js的问题

js中含有如下代码
。。。。
$(
" windowdiv " ).innerHTML  =   " waiting..... "
。。。。

$( " windowdiv " )原本含有flash壳代码,这段代码在ie下好的,在firefox下就会让firefox爆掉
屏蔽掉就好了,或者使用setTimeOut延时调用也ok

你可能感兴趣的:(浏览器,function,IE,Flash,firefox)