Ответ 1
Следующее должно работать, но это не будет совместимо с SEO. Лучше всего поместить заголовок в тег названия.
<script type="text/javascript">
$(document).ready(function() {
document.title = 'blah';
});
</script>
Я использую некоторые вложенные макеты в Ruby on Rails, и в одном из макетов мне нужно прочитать строку из div и установить ее как заголовок документа. Каков правильный способ (если есть) установить заголовок документа?
<script type="text/javascript">
$(document).ready(function() {
// ???
});
</script>
Следующее должно работать, но это не будет совместимо с SEO. Лучше всего поместить заголовок в тег названия.
<script type="text/javascript">
$(document).ready(function() {
document.title = 'blah';
});
</script>
Не используйте $('title').text('hi')
, потому что IE не поддерживает его.
Лучше использовать document.title = 'new title';
Вот так:
$(document).ready(function ()
{
document.title = "Hello World!";
});
Обязательно установите заголовок по умолчанию, если вы хотите, чтобы ваш сайт был правильно проиндексирован поисковыми системами.
Маленький совет:
$(function ()
{
// this is a shorthand for the whole document-ready thing
// In my opinion, it more readable
});
Это отлично работает во всех браузерах...
$(document).attr("title", "New Title");
Работает в IE тоже
<script type="text/javascript">
$(document).ready(function() {
$(this).attr("title", "sometitle");
});
</script>
Я использую некоторые вложенные макеты в Ruby on Rails, и в одном из макетов мне нужно прочитать строку из div и установить ее как заголовок документа.
Правильный способ сделать это на стороне сервера.
В вашем макете в какой-то момент будет некоторый код, который помещает текст в div. Создайте этот код и установите некоторую переменную экземпляра, такую как @page_title
, а затем в своем внешнем маке выполните <%= @page_title || 'Default Title' %>
document.title не работал у меня.
Вот еще один способ сделать это с помощью JQuery
$('html head').find('title').text("My New Page Title");
Если у вас есть serveride script get_title.php, который повторяет текущий сеанс заголовка, это отлично работает в jQuery:
$.get('get_title.php',function(*respons*){
title=*respons* + 'whatever you want'
$(document).attr('title',title)
})