Почему 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

Он работает на шахту