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>
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>
N'utilisez pas $('title').text('hi')
, car IE ne le prend pas en charge.
Il vaut mieux utiliser document.title = 'new title';
Cela fonctionne très bien dans tous les navigateurs ...
$(document).attr("title", "New Title");
Fonctionne aussi dans IE
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
});
<script type="text/javascript">
$(document).ready(function() {
$(this).attr("title", "sometitle");
});
</script>
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' %>
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");