Editar algunos posts es molesto, editar cien una tortura; si hay más ... garantía segura de internación en un neuropsiquiátrico.
Cuando elegimos un servicio para alojar archivos, sería bueno que verificáramos que tipo de dirección URL nos dará para esos archivos ya que, dependiendo de eso, podremos redireccionarlos de uno a otro servidor de manera sencilla, sin tener que editar cada entrada.
No importa tanto la dirección en si misma, puede ser larga o corta, lo importante es que podamos identificarlas fácilmente y que contenga el nombre del archivo.
Unos ejemplos.
esta es la dirección que provee Fileden:
http://www.fileden.com/files/XXXX/X/XX/XXXXXX/nombrearchivo
esta es la dirección que provee Google Sites:
https://sites.google.com/site/XXXXXXX/Home/nombrearchivo
esta es la que nos da el no-sabe-si-difunto Google Pages Creator:
http://XXXXXXX.googlepages.com/nombrearchivo
Lo mismo pasa con los servicios que alojan imágenes como Photobucket:
http://XXX.photobucket.com/albums/XXX/XXXXXXX/nombrearchivo
o las carpetas de SkyDrive:
http://XXXXXXX.skydrive.live.com/browse.aspx/CARPETA
Por el contrario, en el caso de SkyDrive, Picasa o el mismo Blogger, las URLs a los archivos varian aún cuando estén en "la misma carpeta" de la misma cuenta o, como en el caso de ImageShack, se le agregan caracteres aleatorios al final del nombre del archivo. Peor aún, sitios como DivShare o TynyPic generan direcciones crípticas:
http://www.divshare.com/playlist/611439-da0
http://XXX.tinypic.com/2m0adu.jpg
Siempre que tengamos alojados los archivos en servidores que nos brinden direcciones amigables como las primeras, podremos redireccionar esos archivos de manera sencilla utilizando JavaScript. Por ejemplo, imaginemos que (tal como ocurrió) mis archivos de descarga estuvieran en esta dirección:
http://XXXXXXX.googlepages.com/nombrearchivo
y luego de algún colpaso los hubiera subido a este otro servicio:
http://www.fileden.com/files/XXXX/XX/X/XXXXXXX/nombrearchivo
Para redireccionarlos, debería cambiar la primera parte de la URL y mantener el nombre intacto así que podría crear una función y colocarla antes de </head>:
<script type='text/javascript'>
//<![CDATA[
function redirArchivos(idPOST) {
var divVerificar = "post-" + idPOST;
var contenido = document.getElementById(divVerificar);
if(contenido!=null) {
var listaEnlaces = contenido.getElementsByTagName("a");
if(listaEnlaces.length>0){
for(var i=0; i<listaEnlaces.length; ++i) {
enlace = listaEnlaces[i].href;
// leo los primeros 31 caracteres de cada enlace
if(enlace.substring(0,31)=="http://XXXXXXX.googlepages.com/"){
// cambio la dirección y dejo el mismo archivo
enlace = "http://www.fileden.com/files/XXXX/XX/X/XXXXXXX/" + enlace.substring(31);
// y re-escribo la nueva dirección en el enlace
listaEnlaces[i].href = enlace;
}
}
}
}
}
//]]>
</script>
<div class='post-body' expr:id='"post-" + data:post.id'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<script type='text/javascript'>redirArchivos('<data:post.id/>');</script>
http://www.goear.com/files/external.swf?file=357e31b
por esto:
http://www.goear.com/files/external.swf?file=357e31b&autoplay=0
Usamos una función nueva para detectar, ya no el enlace sino la etiqueta EMBED y adosarle al parámetro SRC, el dato que falta:
<script type='text/javascript'>
//<![CDATA[
// ADOSAR &AUTOPLAY A GOEAR
function rewriteGOEAR(idPOST) {
var divVerificar = "post-" + idPOST;
var contenido = document.getElementById(divVerificar);
var listaObjetos = contenido.getElementsByTagName("embed");
if(listaObjetos.length>0){
for(var i=0; i<listaObjetos.length; ++i) {
url = listaObjetos[i].src;
url = url + "&autoplay=0";
listaObjetos[i].src = url;
}
}
}
//]]>
</script>
<div class='post-body' expr:id='"post-" + data:post.id'>
<p><data:post.body/></p>
<div style='clear: both;'/> <!-- clear for photos floats -->
</div>
<script type='text/javascript'>rewriteGOEAR('<data:post.id/>');</script>


0 comentarios:
Publicar un comentario