Почему функция автозаполнения Internet Explorer отключена для всех HTML-форм на моем веб-сайте? - PullRequest
1 голос
/ 12 декабря 2008

Когда автозаполнение Internet Explorer включено для форм, записи для каждого поля в HTML-форме должны кэшироваться и отображаться как приглашение, когда пользователь начинает вводить содержимое в форму во второй раз.

На моем веб-сайте функция автозаполнения никогда не отображается ни для каких форм, существующих на этом сайте. Но все же другие сайты сохраняют и доставляют этот контент без проблем.

Мой сайт использует PHP в качестве языка сценариев, и весь контент доставляется по SSL.

Ответы [ 4 ]

9 голосов
/ 12 декабря 2008

Я определил, что проблема связана с заголовками Cache-Headers, которые PHP отправляет при запуске команды start_session () и на сайте работает SSL.

Мне удалось завладеть человеком из команды безопасности IE в Microsoft, и они подтвердили, что именно так IE должен работать. Вот прямая цитата из письма.

"Это считается особенностью системы автозаполнения. Был написан важный код, чтобы заставить ее так себя вести."

Когда session_start (); Выдается заголовок http по умолчанию, отправляемый php - заголовок без кэширования. Вот еще одна цитата из представительства Microsoft.

Если на защищенной странице написано «Не кэшируйте меня», это означает, что данные являются конфиденциальными, и, следовательно, сами данные автозаполнения, вероятно, являются конфиденциальными. По общему признанию, это простая эвристика. Лично я думаю, что это немного глупо, но это было там навсегда. Вероятно, это хорошее предложение для поддержки "autocomplete = on" для переопределения эвристики по умолчанию.

Чтобы снова включить функцию автозаполнения, я должен был выполнить эту команду в php до команды start_session ():

session_cache_limiter ('private, must-revalidate');

Я уверен, что есть другие способы манипулирования элементами управления кэшем заголовка, чтобы позволить автозаполнению также функционировать.

Вот ссылка на 3 примера формы, которые я сделал, чтобы вы могли проверить с помощью IE.

3 голосов
/ 13 декабря 2008

dgavey - как отправляются ваши формы? Microsoft не слишком понимает эту тонкую проблему, но;

YOU HAVE TO SUBMIT YOUR FORMS WITH A SUBMIT BUTTON

чтобы это работало!

Если, конечно, вы не похожи на все сайты, которым нравится создавать свои собственные формы, большое спасибо, и, таким образом, вам понадобится этот хак, чтобы IE вел себя .

http://webbugtrack.blogspot.com/2007/08/bug-137-ie-autocomplete-hardly-ever.html

, которая указывает статью KB здесь , где MS объясняет это действительно странное поведение.

1 голос
/ 12 декабря 2008

Автозаполнение не используется в IE при использовании SSL (что упоминается в ваших тегах, но не в вашем вопросе).

1 голос
/ 12 декабря 2008

Есть ли у вас autocomplete="off" в качестве атрибута в элементах формы?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...