2014-06-27 5 views
-2

У меня есть HTML-страница. Цель состоит в том, чтобы динамически установить тег <title>.Установить HTML <title> значения тегов динамически

Используя этот вызов Ajax для получения данных, которые будут вставлены в тег заголовка, как показано ниже

$.get("/" + $.flydubai.config.CurrentLanguageCode + "/error/PageTitle/", function (data) { 
     document.title = data; 
    }); 

Теперь я хочу, чтобы обновить не название браузера, но сам HTML <title></title> тег. Возможно ли это? Я пробовал:

document.getElementById('ttl').innerHTML = 'World'; 
ttl.innerHTML = 'world'; 
document.getElementsByTagName('title')[0].innerHTML = 'world'; 
document.querySelector.apply(document,['title']).innerHTML = 'world'; 
document.querySelectorAll.apply(document,['title'])[0].innerHTML = 'world'; 

Все это изменит только клиентскую сторону (т. Е. Название браузера).

+2

Конечно, они меняют название браузера. Что вы ожидаете? Цель этого тега заголовка - показать заголовок в браузере. – GolezTrol

+0

Возможный дубликат [Как динамически менять заголовок веб-страницы?] (Http://stackoverflow.com/questions/413439/how-to-dynamically-change-a-web-pages-title) – Kolby

+0

@isherwood «Все эти символы "на самом деле являются 5 различными решениями для одной и той же проблемы. Поэтому, если вы выберете один, это уже не так много. И особенно 'ttl.innerHTML = 'world'' не намного длиннее, чем' $ (' # ttl '). Html (' world ') '. : p – GolezTrol

ответ

2

Вы не можете изменить текст в теге без обнаружения и обновления браузера.

Если вам нужно изменить тег, и этот тег должен быть да или да, добавьте второй тег заголовка.

Если вы используете:

document.title='my new title'; 

будут внесены изменения только первого тега.

Хотя я не вижу никакого существенного преимущества, то есть цель тега title, измените заголовок окна.

Кроме того, если вы хотите, чтобы только текст был изменен, используйте .innerText, а не .innerHTML.