Estou usando alguns layouts aninhados no Ruby on Rails, e em um dos layouts eu preciso ler uma string de uma div e defini-la como o título do documento. Qual é a maneira correta (se houver) de definir o título do documento?
<script type="text/javascript">
$(document).ready(function() {
// ???
});
</script>
javascript
jquery
ruby-on-rails
Jason Miesionczek
fonte
fonte
Respostas:
O seguinte deve funcionar, mas não seria compatível com SEO. É melhor colocar o título na tag title.
fonte
Não use
$('title').text('hi')
, porque o IE não suporta.É melhor usar
document.title = 'new title';
fonte
Isso funciona bem em todos os navegadores ...
Também funciona no IE
fonte
Como isso:
Certifique-se de definir um título padrão se desejar que seu site seja indexado corretamente pelos mecanismos de pesquisa.
Uma pequena dica:
fonte
fonte
$('title').text(...)
por causa do bug no IEdocument.title
?document.title não estava funcionando para mim.
Aqui está outra maneira de fazer isso usando JQuery
fonte
<title>
configurar em tudo, mesmo$('html head').add('<title>override default title</title>')
não trabalhoA maneira correta de fazer isso é no lado do servidor.
No seu layout, em algum momento haverá algum código que coloca o texto na div . Faça com que esse código também defina alguma variável de instância como
@page_title
, e, em seu layout externo, faça<%= @page_title || 'Default Title' %>
fonte
Se você tiver um script get_title.php do lado do servidor que ecoa a sessão de título atual, isso funciona bem no jQuery:
fonte