Necesito actualizar unos cientos de páginas HTML estáticas que tienen la fecha de copyright codificada en el pie de página. Quiero reemplazarlo con algunos JavaScript que se actualizarán automáticamente cada año.
Actualmente estoy usando:
<script type="text/javascript">var year = new Date();document.write(year.getFullYear());</script>
¿Es esto lo más corto posible?
javascript
html
date
tpow
fuente
fuente
document.write
contenido en línea durante la fase de análisis inicial (como se muestra arriba, en una<script>...</script>
etiqueta, o en un.js
archivo cargado con unascript
etiqueta sindefer
oasync
). Cuando la página se analiza por completo, la secuencia de documentos se cierra y, al usarla, sedocument.write
vuelve a abrir, reemplazando completamente el documento por uno nuevo. Si desea agregar un año después de que se complete el análisis principal, desea usar el DOM. (Esto no es un cambio, siempre ha sido así.)La respuesta de TJ es excelente, pero me encontré con un escenario en el que mi HTML ya estaba renderizado y el script document.write sobrescribiría todo el contenido de la página solo con la fecha del año.
Para este escenario, puede agregar un nodo de texto al elemento existente utilizando el siguiente código:
fuente
createTextNode()
no interpreta html como,<br>
¿cómo se crea un nodo con HTML?Si desea incluir un marco de tiempo en el futuro, con el año actual (por ejemplo, 2017) como el año de inicio para que el próximo año aparezca así: "© 2017-2018, Compañía", utilice el siguiente código . Se actualizará automáticamente cada año:
© Copyright 2017-2018, Empresa.
Pero si ya pasó el primer año, el código más corto puede escribirse así:
fuente
fuente
La solución JS funciona muy bien, pero recomendaría una solución del lado del servidor. Algunos de los sitios que revisé tenían este problema de la página entera en blanco y solo el año visto de vez en cuando.
La razón de esto fue document.write en realidad escribió sobre todo el documento.
Le pedí a mi amigo que implementara una solución del lado del servidor y funcionó para él. El código simple en php
¡Disfrutar!
fuente
document.write
se usó después de que el DOM ya se haya cargado. La solución es no usardocument.write
después de todas las cargas DOM, o, mejor aún, no usardocument.write
en absoluto.Aquí está la última versión más breve y responsable que incluso funciona tanto AD como BC.
[tambores ...]
Eso es. 6 bytes más cortos que la respuesta aceptada.
Si necesita ser compatible con ES5, puede conformarse con:
fuente
Esta es la mejor solución que se me ocurre que funcionará con JavaScript puro. También podrá diseñar el elemento, ya que puede orientarse en CSS. Simplemente agregue en lugar del año y se actualizará automáticamente.
fuente
fuente
Para React.js, lo siguiente es lo que funcionó para mí en el pie de página ...
fuente
de acuerdo con la auditoría de cromo
entonces la solución sin errores es:
fuente