【 tulaoshi.com - Web开发 】
新浪中用来显示flash的函数,格式化后大家可以用啊
sinaflash.js
代码如下:
/**
* @author [sina]zhangping1@
* @version v1.1.3
* Date:2006-9-8 2006-12-15
*/
if(typeof(sina)!="object"){var sina={}}
sina.$=function(objId){if(!objId){throw new Error("sina.$(String objId)参数必须")}
if(document.getElementById){return eval('document.getElementById("'+objId+'")')}else if(document.layers){return eval("document.layers['"+objId+"']")}else{return eval('document.all.'+objId)}}
sinaFlash=function(C,v,x,V,c,X,i,O,I,l,o){var z=this;if(!document.createElement||!document.getElementById){return}
z.id=v?v:"";z.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";z.codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+(c?c:"7")+",0,0,0";z.width=x;z.height=V;z.movie=C;z.bgcolor=X?X:null;z.quality=O?O:"high";z.src=z.movie;z.pluginspage="http://www.macromedia.com/go/getflashplayer";z.type="application/x-shockwave-flash";z.useExpressInstall=i?i:null;z.xir=(I)?I:window.location;z.redirectUrl=l?l:null;z.detectKey=o?o:null;z.escapeIs=false;z.objAttrs={};z.params={};z.flashVars=[];z.flashVarsStr="";z.embedAttrs={};z.forSetAttribute("id",z.id);z.objAttrs["classid"]=z.classid;z.forSetAttribute("codebase",z.codebase);z.forSetAttribute("width",z.width);z.forSetAttribute("height",z.height);z.forSetAttribute("movie",z.movie);z.forSetAttribute("quality",z.quality);z.forSetAttribute("pluginspage",z.pluginspage);z.forSetAttribute("type",z.type);z.forSetAttribute("bgcolor",z.bgcolor)}
sinaFlash.prototype={getFlashHtml:function(){var I=this,i='object ';for(var l in I.objAttrs){i+=l+'="'+I.objAttrs[l]+'" '}
i+='';for(var l in I.params){i+='param name="'+l+'" value="'+I.params[l]+'" / '}
if(I.flashVarsStr!=""){i+='param name="FlashVars" value="'+I.flashVarsStr+'" / '}
i+='embed ';for(var l in I.embedAttrs){i+=l+'="'+I.embedAttrs[l]+'" '}
i+=' /embed/object';return i},forSetAttribute:function(I,i){var l=this;I=I.toLowerCase();switch(I){case "classid":break;case "pluginspage":l.embedAttrs["pluginspage"]=i;break;case "src":l.embedAttrs["src"]=i;l.params["movie"]=i;break;case "movie":l.params["movie"]=i;l.embedAttrs["src"]=i;break;case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblClick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":l.embedAttrs["type"]=i;break;case "codebase":l.objAttrs["codebase"]=i;break;case "width":l.objAttrs["width"]=i;l.embedAttrs["width"]=i;break;case "height":l.objAttrs["height"]=i;l.embedAttrs["height"]=i;break;case "align":l.objAttrs["align"]=i;l.embedAttrs["align"]=i;break;case "vspace":l.objAttrs["vspace"]=i;l.embedAttrs["vspace"]=i;break;case "hspace":l.objAttrs["hspace"]=i;l.embedAttrs["hspace"]=i;break;case "class":l.objAttrs["class"]=i;l.embedAttrs["class"]=i;break;case "title":l.objAttrs["title"]=i;break;case "accesskey":l.objAttrs["accesskey"]=i;break;case "name":l.objAttrs["name"]=i;l.embedAttrs["name"]=i;break;case "id":l.objAttrs["id"]=i;l.embedAttrs["name"]=i;break;case "tabindex":l.objAttrs["tabindex"]=i;break;default:l.params[I]=l.embedAttrs[I]=i}},forGetAttribute:function(i){var I=this;i=i.toLowerCase();if(I.objAttrs[i]!=undefined){return I.objAttrs[i]}else if(I.embedAttrs[i]!=undefined){return I.embedAttrs[i]}else if(I.embedAttrs!=undefined){return I.embedAttrs[i]}else{return null}},setAttribute:function(I,i){this.forSetAttribute(I,i)},getAttribute:function(i){return this.forGetAttribute(i)},addVariable:function(I,i){var l=this;if(l.escapeIs){I=escape(I);i=escape(i)}
if(l.flashVarsStr==""){l.flashVarsStr=I+"="+i}else{l.flashVarsStr+="&"+I+"="+i}
l.embedAttrs["FlashVars"]=l.flashVarsStr},getVariable:function(I){var o=this,i=o.flashVarsStr;if(o.escapeIs){I=escape(I)}
var l=new RegExp(I+"=([^&]*)(&?)","i").exec(i);if(o.escapeIs){return unescape(RegExp.$1)}
return RegExp.$1},addParam:function(I,i){this.forSetAttribute(I,i)},getParam:function(){return this.forGetAttribute(name)},write:function(i){var I=this;if(typeof i=="string"){sina.$(i).innerHTML=I.getFlashHtml()}else if(typeof i=="object"){i.innerHTML=I.getFlashHtml()}}} /**
* @author [sina]zhangping1@
* @version v1.1.3
* Date:2006-9-8 2006-12-15
*/
if(typeof(sina)!="object"){
var sina={
}
}
sina.$=function(objId){
if(!objId){
throw new Error("sina.$(String objId)参数必须")
}
if(document.getElementById){
return eval('document.getElementById("'+objId+'")')
} else if(document.layers){
return eval("document.layers['"+objId+"']")
} else{
return eval('document.all.'+objId)
}
}
sinaFlash=function(C,v,x,V,c,X,i,O,I,l,o){
var z=this;
if(!document.createElement||!document.getElementById){
return
}
z.id=v?v:"";
z.classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000";
z.codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version="+(c?c:"7")+",0,0,0";
z.width=x;
z.height=V;
z.movie=C;
z.bgcolor=X?X:null;
z.quality=O?O:"high";
z.src=z.movie;
z.pluginspage="http://www.macromedia.com/go/getflashplayer";
z.type="application/x-shockwave-flash";
z.useExpressInstall=i?i:null;
z.xir=(I)?I:window.location;
z.redirectUrl=l?l:null;
z.detectKey=o?o:null;
z.escapeIs=false;
z.objAttrs={
} ;
z.params={
} ;
z.flashVars=[];
z.flashVarsStr="";
z.embedAttrs={
} ;
z.forSetAttribute("id",z.id);
z.objAttrs["classid"]=z.classid;
z.forSetAttribute("codebase",z.codebase);
z.forSetAttribute("width",z.width);
z.forSetAttribute("height",z.height);
z.forSetAttribute("movie",z.movie);
z.forSetAttribute("quality",z.quality);
z.forSetAttribute("pluginspage",z.pluginspage);
z.forSetAttribute("type",z.type);
z.forSetAttribute("bgcolor",z.bgcolor)
}
sinaFlash.prototype={
getFlashHtml:function(){
var I=this,i='object ';
for(var l in I.objAttrs){
i+=l+'="'+I.objAttrs[l]+'" '
}
i+='';
for(var l in I.params){
i+='param name="'+l+'" value="'+I.params[l]+'" / '
}
if(I.flashVarsStr!=""){
i+='param name="FlashVars" value="'+I.flashVarsStr+'" / '
}
i+='embed ';
for(var l in I.embedAttrs){
i+=l+'="'+I.embedAttrs[l]+'" '
}
i+=' /embed/object';
return i
} ,forSetAttribute:function(I,i){
var l=this;
I=I.toLowerCase();
switch(I){
case "classid":break;
case "pluginspage":l.embedAttrs["pluginspage"]=i;
break;
case "src":l.embedAttrs["src"]=i;
l.params["movie"]=i;
break;
case "movie":l.params["movie"]=i;
l.embedAttrs["src"]=i;
break;
case "onafterupdate":case "onbeforeupdate":case "onblur":case "oncellchange":case "onclick":case "ondblClick":case "ondrag":case "ondragend":case "ondragenter":case "ondragleave":case "ondragover":case "ondrop":case "onfinish":case "onfocus":case "onhelp":case "onmousedown":case "onmouseup":case "onmouseover":case "onmousemove":case "onmouseout":case "onkeypress":case "onkeydown":case "onkeyup":case "onload":case "onlosecapture":case "onpropertychange":case "onreadystatechange":case "onrowsdelete":case "onrowenter":case "onrowexit":case "onrowsinserted":case "onstart":case "onscroll":case "onbeforeeditfocus":case "onactivate":case "onbeforedeactivate":case "ondeactivate":case "type":l.embedAttrs["type"]=i;
break;
case "codebase":l.objAttrs["codebase"]=i;
break;
case "width":l.objAttrs["width"]=i;
l.embedAttrs["width"]=i;
break;
case "height":l.objAttrs["height"]=i;
l.embedAttrs["height"]=i;
break;
case "align":l.objAttrs["align"]=i;
l.embedAttrs["align"]=i;
break;
case "vspace":l.objAttrs["vspace"]=i;
l.embedAttrs["vspace"]=i;
break;
case "hspace":l.objAttrs["hspace"]=i;
l.embedAttrs["hspace"]=i;
break;
case "class":l.objAttrs["class"]=i;
l.embedAttrs["class"]=i;
break;
case "title":l.objAttrs["title"]=i;
break;
case "accesskey":l.objAttrs["accesskey"]=i;
break;
case "name":l.objAttrs["name"]=i;
l.embedAttrs["name"]=i;
break;
case "id":l.objAttrs["id"]=i;
l.embedAttrs["name"]=i;
break;
case "tabindex":l.objAttrs["tabindex"]=i;
break;
default:l.params[I]=l.embedAttrs[I]=i
}
} ,forGetAttribute:function(i){
var I=this;
i=i.toLowerCase();
if(I.objAttrs[i]!=undefined){
return I.objAttrs[i]
} else if(I.embedAttrs[i]!=undefined){
return I.embedAttrs[i]
} else if(I.embedAttrs!=undefined){
return I.embedAttrs[i]
} else{
return null
}
} ,setAttribute:function(I,i){
this.forSetAttribute(I,i)
} ,getAttribute:function(i){
return this.forGetAttribute(i)
} ,addVariable:function(I,i){
var l=this;
if(l.escapeIs){
I=escape(I);
i=escape(i)
}
if(l.flashVarsStr==""){
l.flashVarsStr=I+"="+i
} else{
l.flashVarsStr+="&"+I+"="+i
}
l.embedAttrs["FlashVars"]=l.flashVarsStr
} ,getVariable:function(I){
var o=this,i=o.flashVarsStr;
if(o.escapeIs){
I=escape(I)
}
var l=new RegExp(I+"=([^&]*)(&?)","i").exec(i);
if(o.escapeIs){
return unescape(RegExp.$1)
}
return RegExp.$1
} ,addParam:function(I,i){
this.forSetAttribute(I,i)
} ,getParam:function(){
return this.forGetAttribute(name)
} ,write:function(i){
var I=this;
if(typeof i=="string"){
sina.$(i).innerHTML=I.getFlashHtml()
} else if(typeof i=="object"){
i.innerHTML=I.getFlashHtml()
}
}
}
调用方法:
代码如下:
div
!--ADS:begin=PDPS000000003139:{597CD25D-FAF8-405B-9164-01639EBFB760}--!--01639EBFB760--div id="flashcontent_01639EBFB760"不支持Flash/div
script type="text/javascript"
var objFlash = new sinaFlash("http://ad4.sina.com.cn/200703/28/86132_58590.swf", "", "585", "90", "7", "", false,"high");
objFlash.addParam("wmode", "opaque");
objFlash.addVariable("adlink", escape("http://bf.sina.com.cn/newbf/zt/07qycs.html"));
objFlash.write("flashcontent_01639EBFB760");
/script!--$$ ae/2007-4-1 ~ 2007-4-1/A $--!--ADS:end--
/div
!-- 广告 begin --
div
!--新浪首页第三屏小通栏02开始--
!--ADS:begin=PDPS000000000794:{A5AB42A8-EFEB-46AE-A24F-97C36D34A728}--!--97C36D34A728--div id="flashcontent_97C36D34A728"不支持Flash/div
script type="text/javascript"
var objFlash = new sinaFlash("http://ad4.sina.com.cn/200704/02/86722_sina402news58550.swf", "", "585", "50", "7", "", false,"high");
objFlash.addParam("wmode", "opaque");
objFlash.write("flashcontent_97C36D34A728");
/script!--$$ litong/2007-4-2 ~ 2007-4-6/B $--!--ADS:end--
!--新浪首页第三屏小通栏02结束--
/div
!-- 广告 end --