Почему IE10 удаляет метки хэша URL-адресов на внешних ссылках перенаправления
У меня есть базовая ссылка:
<a href="#" onclick="location.href='https://pieworld.com/apple#1/'; return false;" target="_blank">Free Pie Here</a>
но когда я нажимаю на него, я перенаправлен на https://pieworld.com/apple
Все после отметки хэша, а также хеш, не включены. Это происходит только в IE10. Я тестировал без target="_blank"
, но ссылка все еще ломается при хеше.
Кажется, не найдено никакой документации по этому вопросу. Самый близкий, к которому я пришел, - этот вопрос SO, но это не помогает.
Некоторая справочная информация, которая может помочь:
Это сайт .Net
Я перенаправляюсь с сайта http:
на https:
.
Ответы
Ответ 1
В соответствии с RFC3986 http://tools.ietf.org/html/rfc3986 не использовать этот формат. Вы должны удалить конечную косую черту. Если у вас есть конечная косая черта, она указывает на каталог внутри сервера. Без этого вы указываете документ и с помощью хеш-метки вы можете указывать на сегмент документа. См. пример здесь.
Ответ 2
Символ хэша используется для закладок в URL-адресе. Чтобы использовать хэш-символ как часть самого URL-адреса, вам нужно URL-кодировать его с помощью %23
:
<a href="http://pieworld.com/apple%231/" target="_blank">Free Pie Here</a>
Ответ 3
Почему у вас есть конечная косая черта после хэша?
Попробуйте https://pieworld.com/apple/#1
Это было бы более стандартным. Я никогда не слышал, чтобы кто-то помещал трейлинг-косые черты после хеш-ссылок.
Ответ 4
Я думаю, как полагали другие люди, что веб-сайт, на котором вы пытаетесь перейти на , может интерпретировать /#1
как папку/страницу внутри родительской страницы/документа. Попробуйте удалить переднюю косую черту перед #1
или загляните в html для тега id/name заголовка, чтобы вы могли напрямую связать его.
Может также быть ошибкой в IE10.
- Phantom
Ответ 5
Любой URL-адрес, содержащий символ #, является URL-адресом фрагмента. Часть URL-адреса слева от # указывает ресурс, который может быть загружен браузером, а часть справа, известная как идентификатор фрагмента, указывает местоположение в ресурсе.
http://www.httpwatch.com/features.htm#print
В документах HTML браузер ищет элемент с атрибутом id, соответствующим фрагменту. Например, в URL-адресе, показанном выше, браузер находит соответствующий тег в заголовке поддержки печати:
<h3 id="print">Printing Support</h3>
и прокручивает страницу для отображения этой секции.
Я не уверен, поддерживается ли слэш после хеша. Если вы не хотели использовать его как фрагментированный URL-адрес, вы должны удалить хэш или заменить его.
Ответ 6
Синтаксис поля заголовка местоположения был изменен, чтобы разрешить все ссылки URI, включая относительные ссылки и фрагменты,
наряду с некоторыми разъяснениями относительно того, когда использование фрагментов не подходит. (Раздел 7.1.2)
для получения дополнительной информации проверьте этот подробный пост.
Ответ 7
Хеш удален из URL, когда нажата кнопка назад IE9, IE10 IE11
В браузере IE10, впервые нажав ссылку HREF, он подходит к правильному ниже URL: http://www.example.com/yy/zz/ff/paul.html#20007_14
Если в браузере IE10 щелкнули кнопку "Назад" и снова щелкнули ссылку HREF, то она попадет на следующий URL: http://www.example.com/yy/zz/ff/paul.html
Решение:
Пожалуйста, измените свой URL с помощью https
Он работает на шахту