web-dev-qa-db-fra.com

jQuery: comment changer le titre du document pendant .ready ()?

J'utilise certaines dispositions imbriquées dans Ruby sur Rails. Dans l'une des dispositions, j'ai besoin de lire une chaîne d'un div et de la définir comme titre du document. Quelle est la manière correcte (le cas échéant) de définir le titre du document?

<script type="text/javascript">
$(document).ready(function() {

    // ???

});
</script>
138

Ce qui suit devrait fonctionner, mais ce ne serait pas compatible avec le référencement. Il est préférable de mettre le titre dans la balise de titre.

<script type="text/javascript">

    $(document).ready(function() {
        document.title = 'blah';
    });

</script>
301
dpan

N'utilisez pas $('title').text('hi'), car IE ne le prend pas en charge.

Il vaut mieux utiliser document.title = 'new title';

47
vasio

Cela fonctionne très bien dans tous les navigateurs ...

$(document).attr("title", "New Title");

Fonctionne aussi dans IE

39
Albert

Comme ça:

$(document).ready(function ()
{
    document.title = "Hello World!";
});

Veillez à définir un titre par défaut si vous souhaitez que votre site soit correctement indexé par les moteurs de recherche.

Un petit conseil:

$(function ()
{
    // this is a shorthand for the whole document-ready thing
    // In my opinion, it's more readable 
});
36
cllpse
<script type="text/javascript">
$(document).ready(function() {

    $(this).attr("title", "sometitle");

});
</script>
16
Atanas Korchev

J'utilise certaines dispositions imbriquées dans Ruby sur Rails. Dans l'une des dispositions, j'ai besoin de lire une chaîne d'un div et de la définir comme titre du document.

La façon correcte de le faire est du côté du serveur.

Dans votre mise en page, il y aura à un moment donné un code qui met le texte dans le div. Faites en sorte que ce code définisse également une variable d'instance telle que @page_title, puis dans votre mise en page externe, faites-le <%= @page_title || 'Default Title' %>

5
Orion Edwards

document.title ne fonctionnait pas pour moi.

Voici une autre façon de le faire en utilisant JQuery

$('html head').find('title').text("My New Page Title");
5
John F