Изменил ли IE10 определение window.location.port?

Я заметил, что сегодня в IE10 Platform Preview 10.0.1008.16421 некоторый код JavaScript, который проверяет window.location.port, не работает.

Например, в IE10 перейдите по адресу http://www.microsoft.com. Откройте инструменты разработчика и введите window.location.port, и он вернет 80. Что случилось? Почему IE10 внезапно возвращает целое число 80, когда все другие браузеры IE возвращают "" (пустую строку) на том же сайте? IE10 также возвращает 80 во всех режимах нижнего уровня.

Сравните результат для IE8/9 на http://www.microsoft.com: window.location.port равно ""!

Есть идеи, является ли это новым поведением для IE10, зарегистрированной ошибкой в ​​выпуске платформы или ошибкой, о которой еще не сообщалось?


person smithclay    schedule 31.10.2012    source источник
comment
Я бы сказал, что ошибочное поведение в ‹ IE10. Всегда есть номер порта, связанный с запросом. Я предполагаю, что MS не сочла нужным сообщить «80», поскольку это порт по умолчанию.   -  person Kevin Boucher    schedule 01.11.2012
comment
Chrome сообщает window.location.port как '' =/   -  person Rocket Hazmat    schedule 01.11.2012
comment
Я предполагаю, что предполагается порт по умолчанию, поэтому в этих других браузерах это будет только '', если не 80/443 и т. д. Настоящий вопрос: является ли это свойство корректно определенным, и если да, то где?   -  person    schedule 01.11.2012
comment
См. w3.org/TR. /2011/WD-html5-20110525/, что звучит так, как будто это должно быть '80' если и только если URI включает порт, который оказался 80, например http://www.microsofto.com:80.   -  person    schedule 01.11.2012
comment
Таким образом, создается впечатление, что это ошибочное поведение в IE10 - как для того, чтобы быть целым числом, так и для возврата значения, не указанного в URI.   -  person Chris O'Kelly    schedule 15.11.2012
comment
@pst - вы должны добавить это в качестве ответа. Это кажется правильным и, следовательно, ошибкой IE10, если он возвращает значение, когда в URL-адресе нет порта.   -  person James Allardice    schedule 19.11.2012


Ответы (1)


Это похоже на ошибку, хотя я не знаю ни одной такой проблемы:

HTML5: 2.6.2 Анализ URL-адресов указывает, что «[порт] — это подстрока, соответствующая произведению, если есть».

Кроме того, HTML5: 2.6. 6 Интерфейсы для обработки URL-адресов приводит пример ввода http://example.com/carrot#question%3f, который указывает, что порт должен быть "" - (пустая строка).

ОБНОВЛЕНИЕ

Это настоящая ошибка: http://connect.microsoft.com/IE/feedback/details/817343/ie11-scripting-value-of-htmlanchorelement-host-differs-between-script-created-link-и-ссылка-из-документа

person Community    schedule 19.11.2012