J'utilise des mises en page imbriquées dans Ruby on Rails, et dans l'une des mises en page, j'ai besoin de lire une chaîne à partir 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>
javascript
jquery
ruby-on-rails
Jason Miesionczek
la source
la source
Réponses:
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.
la source
Ne l'utilisez pas
$('title').text('hi')
, car IE ne le prend pas en charge.Il vaut mieux utiliser
document.title = 'new title';
la source
Cela fonctionne bien dans tous les navigateurs ...
Fonctionne aussi dans IE
la source
Comme ça:
Assurez-vous de définir un titre par défaut si vous souhaitez que votre site soit correctement indexé par les moteurs de recherche.
Un petit conseil:
la source
la source
$('title').text(...)
cause d'un bogue dans IEdocument.title
?document.title ne fonctionnait pas pour moi.
Voici une autre façon de le faire en utilisant JQuery
la source
<title>
configuration du tout, même$('html head').add('<title>override default title</title>')
ne fonctionne pasLa bonne façon de procéder est du côté du serveur.
Dans votre mise en page, il y aura à un moment donné du code qui place 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 faire<%= @page_title || 'Default Title' %>
la source
Si vous avez un script côté serveur get_title.php qui fait écho à la session de titre en cours, cela fonctionne bien dans jQuery:
la source