274 votes

Le moyen le plus court d'imprimer l'année actuelle sur un site Web

Je dois mettre à jour quelques centaines de pages HTML statiques dans lesquelles la date de copyright est codée en dur dans le pied de page. Je veux la remplacer par du JavaScript qui se mettra automatiquement à jour chaque année.

Actuellement, j'utilise :

var year = new Date();document.write(year.getFullYear());

Est-ce que c'est la solution la plus courte possible ?

1voto

Amitesh Points 33

Il existe de nombreuses solutions à ce problème telles que celles fournies par les experts ci-dessus. La solution ci-dessous peut être utilisée, qui ne bloquera pas le rendu de la page et ne le réinitialisera même pas.

En Javascript Pur :

window.addEventListener('load', (
    function () {
        document.getElementById('copyright-year').appendChild(
            document.createTextNode(
                new Date().getFullYear()
            )
        );
    }
));

 © 

En jQuery :

$(document).ready(function() {
  document.getElementById('copyright-year').appendChild(
    document.createTextNode(
      new Date().getFullYear()
    )
  );
});

 ©

1voto

Nosajimiki Points 680

La réponse acceptée ne fonctionne pas toujours

Une récente mise à jour a causé que toutes les dates de droits d'auteur de mon pied de page WordPress sont poussées vers le bas de la page au lieu d'être écrites en ligne comme avant. Je suis sûr qu'il y a d'autres cas où cela peut se produire également, mais c'est là que je l'ai remarqué.

entrer la description de l'image ici

Si cela se produit, vous pouvez le corriger en créant une balise span vide et en y injectant votre date comme ceci:

document.getElementById("cdate").innerHTML = (new Date().getFullYear()); 

ou si vous avez jquery activé sur votre site, vous pouvez faire un peu plus simple comme ceci:

$("#cdate").html(new Date().getFullYear()); 

Cela ressemble à la réponse d'Adam Milecki mais beaucoup plus courte

1voto

Riley Jones Points 91

Il n'est pas recommandé d'utiliser document.write. Vous pouvez en apprendre davantage sur document.write en appuyant sur ici. Voici une solution JavaScript quelque peu amicale. Et oui, il y a des études sur la manière dont InnerHTML est mauvais, travaillant sur une solution plus conviviale.

document.getElementById("year").innerHTML = (new Date().getFullYear());

↑ JavaScript

↓ HTML

Company ©  Tous droits réservés.

Voici un JSFiddle pour le tester. Au lieu d'utiliser JavaScript, personnellement, je recommande d'écrire l'année en cours avec PHP, c'est beaucoup plus sûr de le faire avec PHP plutôt qu'avec JavaScript.

1voto

Ray Points 66

Année complète :

document.getElementById("getyear").innerHTML = (new Date().getFullYear());

0voto

Filipko 769 Points 21

Si vous avez besoin de l'année en cours plusieurs fois sur votre site, vous pouvez le faire de cette manière :

document.querySelectorAll("copy-year").forEach(el => {
    el.textContent = `${el.textContent} - ${new Date().getFullYear()}`;
});

Droits d'auteur de l'entreprise 1234 ©

Je sais, ce n'est pas la manière la plus courte, mais cela fonctionne vraiment bien.

PS : Vous devez avoir le JS en bas de votre page ou utiliser l'attribut defer sur la balise script.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X