Изменить заголовок IE из букмарклета

#javascript #internet-explorer #bookmarklet

#javascript #internet-explorer #букмарклет

Вопрос:

Я создаю букмарклет JavaScript, который динамически обновляет строку заголовка, но он не отображает изменения в IE (я пробовал IE7 и IE8). Вот упрощенный пример, демонстрирующий мою проблему:

 javascript:document.title='new title';alert(document.title);
  

Обратите внимание, что значение обновляется в предупреждении, но не в строке заголовка или вкладке. У меня в Chrome все работает нормально.

Ответ №1:

Это ошибка в IE. Это можно обойти, изменив идентификатор фрагмента URL («хэш»), что может быть или не быть осуществимым для ваших целей:

 javascript:document.title='foobar';location.replace('#' new Date().getTime())
  

new Date().getTime() используется для получения уникального номера, который вряд ли будет использоваться в качестве имени или идентификатора где-либо на странице (чтобы страница фактически не прокручивалась).

Ответ №2:

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

Однако, похоже, что в браузерах IE они устанавливают его только один раз, и на этом все — дальнейших обновлений нет. Если это правда (также хотелось бы увидеть решение), то обойти это невозможно.

Комментарии:

1. У меня это работает нормально, когда скрипт встроен в содержимое веб-страницы, просто по какой-то причине не из адресной строки.