JMiur [E]

Agregar scripts es cosa de todos los días, hay que copiar, pegar y rogar que funcionen. En general, no hay problemas con eso pero, nunca está de más entender la sintaxis y, si es posible, mejorarla.

Es esto lo que nos recuerda un artículo de CSS Tricks y muestra las variantes que solemos encontrar en los distintos ejemplos que pululan en la web.

¿Cuál debemos usar? En realidad, casi cualquiera de ellos porque los navegadores las entienden todas y no se hacen problemas por los detalles que sólo quedan para ser discutidos por los puristas.

Lo cierto es que para agregar un script, basta poner la etiqueta y no es necesario ningún atributo extra aunque para la w3.org sigue siendo obligatorio excepto si se utiliza un documento de tipo HTML5:
<script>
  ....... el código .......
</script>
Si queremos ser prolijos, podemos agregar el atributo type aunque en realidad, este sólo es necesario cuando el código no es JavaScript cosa bastante inusual:
<script type="text/javascript">
  ....... el código .......
</script>
Lo que no deberíamos usar más es el atributo language; es totalmente innecesario y es considerado obsoleto:
<script language="javascript">
  ....... el código .......
</script>

<script type="text/javascript" language="javascript">
  ....... el código .......
</script>
En las plantillas de Blogger, tenemos una restricción extra, como se trata de un documento de tipo XHTML, ciertos caracteres como < > y & están "prohibidos" cuando se utilizan fuera de ciertos contextos y por eso, debemos agregar CDATA, para evitar que el sistema nos marque un error o cambie las comillas por entities como &quot;. Hacerlo de este modo, evitará que el código se "ensucie" o que, simplemente, no funcione:
<script type="text/javascript">
  //<![CDATA[
    ....... el código .......
  //]]>
</script>
Pero ... en Blogger siempre hay peros; esto sólo es válido en la plantilla misma, no lo es cuando se trata de elementos de tipo HTML o si agregamos scripts en las entradas.

Lo que lleva a recordar que no siempre es necesario que los scripts a utilizar estén en la plantilla; por el contrario, cuando se trata de cosas eventuales, efectos que usamos de tanto en tanto, podemos intentar agregarlas directamente en la entrada y de ese modo, ayudaremos a que nuestro sitio se abra con mayor velocidad ya que no se cargarán cosas innecesarias.

En un tiempo, esto era complicado porque había que escribir todo el script en una sola línea pero, en los nuevos editores de Blogger ese problema ya no existe y el script puede ser escrito de modo normal. Sin embargo, hay que ver caso por caso ya que hay ocasiones en que determinados caracteres como < siguen limitándonos ya que las reglas de Blogger son poco claras y las cambian cuando quieren.

13 comentarios:

Adrián J. Messina  

Perfecto, perfecto, siempre hay confusiones en la simpleza del copiar y pegar.
Lo que sugierís es que si es un script con un determinado efecto y de poco uso sea incluído en ¿Cualquier entrada?
De ser así, ¿en la entrada debería de escribirse así?:

script type="text/javascript
//
/script

Responder
Iván  

JMiur sigo con un problema desde hace meses siempre me rindo y lo dejo, te comento por acá ya que por otras entradas viejas quisas no entres y no tengo otra manera de contactarte, si me puedes hacer este favor te lo agradeceria mucho, entro aqui porque otras consultas me haz resuelto y lo mejor es que lo haces rapidamente :D
Quiero ponerme un reproductor de video JWplayer igualito al de esta página:
http://www.mundonlinetv.com/2010/01/el-avatar-libro-agua-cap-01-el-nino-del.html
Pero nose como hacerlo, intenté de todos modos y nose:
1. de donde saco el link directo del video y a donde lo subo para que me reconozca el reproductor.
2. quiero quitarle lo que dice JW PLAYER
3. quiero ponerle un fondo antes de dar play.

Te lo agradeceria mucho, tomate tu tiempo y por favor respondeme o guiame, estuve 5 horas tratando de buscar ayuda y no la encuentro.
Gracias por todo. Ivan

Responder
JMiur  

Adrián J. Messina:
Sí, exactamente eso. En las entradas o elementos HTML no hace falta usar CDATA pero, dependiendo del código del script, puede ser complicado si hay caracteres < o >

Iván:
No sé cuál es el video porque en esa página no se carga el reproductor.
¿De donde sacar el enlace directo? Depende del servicio; deberías consultar con ellos.
Todo lo demás es algo que desconozco, lo lógico sería recurrir a la página de los desarrolladores de jwplayer y ver si eso es posible.

Responder
Dexmodd  

Hola muy buenas verás yo en mi blog quisiera poner un menu como el que tiene, pero al copiar su código desde mi navegador, me lee los campos pero no la imagen de fondo. Me gusataría como podría hacerlo yo, ya que poner un color solido detras del menú queda como muy soso. Muchas gracias. Saludos

Responder
JMiur  

En ese menú n ose utilizan imágenes de fondo sin ogradientes creadas con CSS así qeu puedes mirar en esta entrada para ver cómo generarlas y luego aplicarlas a la propiedad background.

Responder
Indeziisoow  

No me funciona CDATA :( Antes siempre me había funcionado; ahora no :/

JMiur  

¿Qué significa que no funciona? ¿Dónde está puesto?

Indeziisoow  

Significa que al colocar el CDATA el script no funciona. Al sacar el CDATA el script funciona.

Está puesto entre <script> y </script>.

Creo que me rindo. No usaré Javascript :/

JMiur  

No hay motivo alguno para que no funcione; habria que ver qué estás tratando de hacer y dónde lo estás colocando.

Responder
Josep López  

Hola,
Me he instalado en este blog: http://pistocatala.blogspot.com.es/ esta plantilla: http://www.allblogtools.com/blogger-templates/3-columns/extra-news/
El problema es que para que funcione eso que hay al principio, de últimos posts, pues tienes que poner en un widget que te aparece al instalar esa plantilla llamado Random Posts un código que te indican en un .txt del .rar, para que te funcione.
Al poner ese código en ese widget y abrir el blog, en Chrome se me bloquea el blog, y en Firefox y IE me dice que el Script tarda mucho o no está funcionando y que lo detenga. No se porque pasa esto porque en la Versión Demo que te dejan ver antes de descargarte la plantilla lo de últimas entradas funciona perfectamente.
Qué puede estar pasando?
Gracias.

JMiur  

No sé cuál es el script que incluyes pero, evidentemente, tiene algún error. Simplemente, usa otro cualquiera; todos hacen lo mismo.

Responder
Félix Redondo Casado  

Hola JMiur.

Quería pedirte algún dato sobre este script que aparece en el final de la plantillas de Blogger actuales. ¿Cuál es su función? ¿En necesario? ¿Se puede eliminar? Un saludo.

“script type=’text/javascript’>
window.setTimeout(function() {
document.body.className = document.body.className.replace('loading', '');
}, 10);
script”

JMiur  

Esa funcion elimina la clase "loading" de la etiqueta body al cabo de cierto tiempo.

Si en tu blog eliminas ese atributo, también puedes eliminar el script
<body expr:class='"loading" + data:blog.mobileClass'>

desconozco si eso tiene algún efecto en los móviles asi que ahí deberás probar y ver que ocurre.

Responder

¿Quiere dejar un comentario?

recuerde que los comentarios están siendo moderados y serán publicados a la brevedad ...

Todos los archivos y demos alojados en Fileden han sido redireccionados y deberían estar funcionando correctamente.
De todos modos, también puede accederse a ellos a través de SkyDrive

Nota: sólo los miembros de este blog pueden publicar comentarios.

Si le gusta ir a lo seguro utilice este botón para abrir los comentarios en una ventana modal en esta misma pagina.

Si añora tiempos idos, use este enlace para agregar un comentario al viejo estilo ...

 
CERRAR