#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. У меня это работает нормально, когда скрипт встроен в содержимое веб-страницы, просто по какой-то причине не из адресной строки.