Как я могу включить поддержку автозаполнения только для одного сайта во всем моем проекте Struts? - PullRequest
0 голосов
/ 30 ноября 2011

, поскольку я пытаюсь решить эту проблему в течение нескольких дней, я подумал дать вам, ребята, шанс.Ситуация:

Мы запустили магазин SAP Shop с страницами и страницами сервера Java в фоновом режиме.Нам пришлось отключить настраиваемый кэш HTML-заголовка с помощью:

response.setHeader("Pragma", "no-cache");
response.setHeader("Cache-Control", "no-cache");
response.setHeader("Expires", "0");

Теперь то, что я хочу сделать, показалось нам простой задачей, но оказалось более научным, чем мы ожидали.

Мы хотим снова включить автозаполнение для IE только для страницы входа.Я и мой коллега попробовали простые подходы, такие как сброс значений заголовков на различные значения «должно быть кэшироваться», например «public», с expirens завтра или sth.Также ничего не дало нам автоматическое заполнение ящиков в IE6 и выше.

Так кто-нибудь знает метод для JUST ONE PAGE в системе Struts для включения кэширования и, как мы думаем, автозаполнение снова включено?*

Ответы [ 2 ]

0 голосов
/ 30 ноября 2011

Хорошо, теперь я нашел ответ сам.Кажется, проще, когда вы говорите об этом, не так ли?

Итак, проблема заключалась в том, что мы использовали функцию javascript для отправки нашего сайта формы входа.Но это не так, как вы должны это сделать (скажем, Microsoft).Несколько минут назад я слышал техническую трансляцию о том, что интернет-обозреватель полагается на подозрительные кнопки для реализованной функциональности браузера.

Услышав, что ответ был довольно ясен в моей голове.Я направляюсь к кнопке.Поскольку мы (ДОЛЖНЫ!) Использовать Javascript для отправки, поскольку кнопка является только стилизованным div, мне пришлось вызвать нажатие кнопки, чтобы показать IE, что мы выполняем «официальный» постбэк.

Вот код:

function submitLoginForm()
{
    var hiddenSubmitBtn = document.getElementById("hiddenSubmitButton");
    if(hiddenSubmitBtn.click) {
        hiddenSubmitBtn.click();
    } else {
        document.loginform.submit();
    }
    return false;
}

Теперь работает нормально.

0 голосов
/ 30 ноября 2011

Я не думаю, что автозаполнение имеет какое-либо отношение к заголовкам ответов кэширования.автозаполнение включено по умолчанию и может быть отключено в определенном поле формы с помощью autocomplete="off".Если у вас есть такой атрибут в полях формы входа в систему, просто удалите его.

См. Как отключить автозаполнение браузера в поле / теге веб-формы?

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