Foros del Web » Creando para Internet » HTML »

Insertar flash xhtml 1.1 (validacion y bordes IE)

Estas en el tema de Insertar flash xhtml 1.1 (validacion y bordes IE) en el foro de HTML en Foros del Web. He visto esta duda en cantidad de foros, como puedo insertar un flash en xhtml 1.1 valido... tambien he visto la cuestion de los bordes ...
  #1 (permalink)  
Antiguo 13/07/2006, 10:43
 
Fecha de Ingreso: julio-2006
Mensajes: 46
Antigüedad: 17 años, 9 meses
Puntos: 0
Insertar flash xhtml 1.1 (validacion y bordes IE)

He visto esta duda en cantidad de foros, como puedo insertar un flash en xhtml 1.1 valido...

tambien he visto la cuestion de los bordes en explorer, por que se ven bordes en mi pelicula flash en internet explorer.

De esta manera se logra incluir peliculas flash en tu pagina xhtml totalemente valida, quitar los bordes en el IE y de paso es facil.

primero creamos un archivoswfobjects.js y pegamos:

Código PHP:
/**
 * SWFObject v1.4.2: Flash Player detection and embed - blog.deconcept.com/swfobject/
 *
 * SWFObject is (c) 2006 Geoff Stearns and is released under the MIT License:
 * opensource.org/licenses/mit-license.php
 *
 * **SWFObject is the SWF embed script formerly known as FlashObject. The name was changed for
 *   legal reasons.
 */
if(typeof deconcept=="undefined"){var deconcept=new Object();}
if(
typeof deconcept.util=="undefined"){deconcept.util=new Object();}
if(
typeof deconcept.SWFObjectUtil=="undefined"){deconcept.SWFObjectUtil=new Object();}
deconcept.SWFObject=function(_1,id,w,h,_5,c,_7,_8,_9,_a,_b){
if(!
document.getElementById){return;}
this.DETECT_KEY=_b?_b:"detectflash";
this.skipDetect=deconcept.util.getRequestParameter(this.DETECT_KEY);
this.params=new Object();
this.variables=new Object();
this.attributes=new Array();
if(
_1){this.setAttribute("swf",_1);}
if(
id){this.setAttribute("id",id);}
if(
w){this.setAttribute("width",w);}
if(
h){this.setAttribute("height",h);}
if(
_5){this.setAttribute("version",new deconcept.PlayerVersion(_5.toString().split(".")));}
this.installedVer=deconcept.SWFObjectUtil.getPlayerVersion();
if(
c){this.addParam("bgcolor",c);}
var 
q=_8?_8:"high";
this.addParam("quality",q);
this.setAttribute("useExpressInstall",_7);
this.setAttribute("doExpressInstall",false);
var 
_d=(_9)?_9:window.location;
this.setAttribute("xiRedirectUrl",_d);
this.setAttribute("redirectUrl","");
if(
_a){this.setAttribute("redirectUrl",_a);}};
deconcept.SWFObject.prototype={setAttribute:function(_e,_f){
this.attributes[_e]=_f;
},
getAttribute:function(_10){
return 
this.attributes[_10];
},
addParam:function(_11,_12){
this.params[_11]=_12;
},
getParams:function(){
return 
this.params;
},
addVariable:function(_13,_14){
this.variables[_13]=_14;
},
getVariable:function(_15){
return 
this.variables[_15];
},
getVariables:function(){
return 
this.variables;
},
getVariablePairs:function(){
var 
_16=new Array();
var 
key;
var 
_18=this.getVariables();
for(
key in _18){_16.push(key+"="+_18[key]);}
return 
_16;
},
getSWFHTML:function(){
var 
_19="";
if(
navigator.plugins&&navigator.mimeTypes&&navigator.mimeTypes.length){
if(
this.getAttribute("doExpressInstall")){this.addVariable("MMplayerType","PlugIn");}
_19="<embed type=\"application/x-shockwave-flash\" src=\""+this.getAttribute("swf")+"\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\"";
_19+=" id=\""+this.getAttribute("id")+"\" name=\""+this.getAttribute("id")+"\" ";
var 
_1a=this.getParams();
for(var 
key in _1a){_19+=key+"=\""+_1a[key]+"\" ";}
var 
_1c=this.getVariablePairs().join("&");
if(
_1c.length>0){_19+="flashvars=\""+_1c+"\"";}
_19+="/>";
}else{if(
this.getAttribute("doExpressInstall")){
this.addVariable("MMplayerType","ActiveX");}
_19="<object id=\""+this.getAttribute("id")+"\" classid=\"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000\" width=\""+this.getAttribute("width")+"\" height=\""+this.getAttribute("height")+"\">";
_19+="<param name=\"movie\" value=\""+this.getAttribute("swf")+"\" />";
var 
_1d=this.getParams();
for(var 
key in _1d){_19+="<param name=\""+key+"\" value=\""+_1d[key]+"\" />";}
var 
_1f=this.getVariablePairs().join("&");
if(
_1f.length>0){_19+="<param name=\"flashvars\" value=\""+_1f+"\" />";}
_19+="</object>";}
return 
_19;
},
write:function(_20){
if(
this.getAttribute("useExpressInstall")){
var 
_21=new deconcept.PlayerVersion([6,0,65]);
if(
this.installedVer.versionIsValid(_21)&&!this.installedVer.versionIsValid(this.getAttribute("version"))){
this.setAttribute("doExpressInstall",true);
this.addVariable("MMredirectURL",escape(this.getAttribute("xiRedirectUrl")));
document.title=document.title.slice(0,47)+" - Flash Player Installation";
this.addVariable("MMdoctitle",document.title);}}
if(
this.skipDetect||this.getAttribute("doExpressInstall")||this.installedVer.versionIsValid(this.getAttribute("version"))){
var 
n=(typeof _20=="string")?document.getElementById(_20):_20;
n.innerHTML=this.getSWFHTML();
return 
true;
}else{
if(
this.getAttribute("redirectUrl")!=""){document.location.replace(this.getAttribute("redirectUrl"));}}
return 
false;}};
deconcept.SWFObjectUtil.getPlayerVersion=function(){
var 
_23=new deconcept.PlayerVersion([0,0,0]);
if(
navigator.plugins&&navigator.mimeTypes.length){
var 
x=navigator.plugins["Shockwave Flash"];
if(
x&&x.description){_23=new deconcept.PlayerVersion(x.description.replace(/([a-zA-Z]|s)+/,"").replace(/(s+r|s+b[0-9]+)/,".").split("."));}
}else{
try{var 
axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.7");}
catch(
e){try{
var 
axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash.6");
_23=new deconcept.PlayerVersion([6,0,21]);
axo.AllowScriptAccess="always";}
catch(
e){
if(
_23.major==6){return _23;}}try{axo=new ActiveXObject("ShockwaveFlash.ShockwaveFlash");}
catch(
e){}}
if(
axo!=null){_23=new deconcept.PlayerVersion(axo.GetVariable("$version").split(" ")[1].split(","));}}
return 
_23;};
deconcept.PlayerVersion=function(_27){
this.major=_27[0]!=null?parseInt(_27[0]):0;
this.minor=_27[1]!=null?parseInt(_27[1]):0;
this.rev=_27[2]!=null?parseInt(_27[2]):0;
};
deconcept.PlayerVersion.prototype.versionIsValid=function(fv){
if(
this.major<fv.major){return false;}
if(
this.major>fv.major){return true;}
if(
this.minor<fv.minor){return false;}
if(
this.minor>fv.minor){return true;}
if(
this.rev<fv.rev){return false;}
return 
true;
};
deconcept.util={getRequestParameter:function(_29){
var 
q=document.location.search||document.location.hash;
if(
q){
var 
_2b=q.substring(1).split("&");
for(var 
i=0;i<_2b.length;i++){
if(
_2b[i].substring(0,_2b[i].indexOf("="))==_29){
return 
_2b[i].substring((_2b[i].indexOf("=")+1));}}}
return 
"";}};
deconcept.SWFObjectUtil.cleanupSWFs=function(){
var 
_2d=document.getElementsByTagName("OBJECT");
for(var 
i=0;i<_2d.length;i++){
_2d[i].style.display="none";
for(var 
x in _2d[i]){if(typeof _2d[i][x]=="function"){_2d[i][x]=null;}}}};
if(
typeof window.onunload=="function"){
var 
oldunload=window.onunload;
window.onunload=function(){
deconcept.SWFObjectUtil.cleanupSWFs();
oldunload();};
}else{
window.onunload=deconcept.SWFObjectUtil.cleanupSWFs;}
if(Array.
prototype.push==null){
Array.
prototype.push=function(_30){
this[this.length]=_30;
return 
this.length;};}

var 
getQueryParamValue=deconcept.util.getRequestParameter;
var 
FlashObject=deconcept.SWFObject// for legacy support
var SWFObject=deconcept.SWFObject
luego donde queremos mostrar el flash ponemos:

Código PHP:
<div id="contenidoflash"> <a href="contactos.asp">contáctenos </a></div>
            <
script type="text/javascript">
   var 
so = new SWFObject("img/contactanos.swf""mymovie2""125""15""7""#FF9900");
   
so.write("contenidoflash");
                  
</script> 
si queremos colocar mas de una pelicula flash simplemente cambiamos el nombre "contenidoflash" por uno nuevo y listo. Tambien esto nos ayuda a mostrar un contenido alternativo en caso de que no se cuente con el plugin de flash, por lo que la accesibilidad no esta comprometida.

es solo una de las formas que hay por internet disponibles de hacer esto, a mi me resulta bastante comoda, espero les sirva
  #2 (permalink)  
Antiguo 15/07/2006, 09:45
 
Fecha de Ingreso: julio-2005
Mensajes: 127
Antigüedad: 18 años, 9 meses
Puntos: 0
Hola, ese script no está tomando en cuenta qué pasa cuando está javascript desactivado.

Hace un tiempo encontré la manera de insertar flash con xhtml válido (está en inglés y es un poco largo, pero funciona).

Saludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:34.