MailChimp jQuery Conflict

У меня было больше всего потраченного времени на интеграцию MailChimp в сайт, который я разрабатываю!

Проблема в том, что проверка не работает для встроенной формы подписки. Вместо встраивания сообщений об ошибках, форма выводит пользователя на страницу регистрации MailChimp, чтобы исправить ошибки или подтвердить выбор списка.

I ' Мы внесли большой объем настроек в код, поэтому, к сожалению, возврат к настройкам по умолчанию невозможен.

Вот ошибки, которые я получаю, но я JS n00b, поэтому я не знаю, что они означают:

Ошибка определения ошибки mce_jQuery:

Screen shot 2010-08-22 at 4.34.50 AM.jpg

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

Странная вещь заключается в следующем. Если я вырываю пользовательский код и просто публикую статический код из MailChimp, он каким-то образом работает, но я скопировал весь соответствующий код с важными функциями и все еще без кубиков.

Вы можете просмотреть сайт в прямом эфире по адресу: http://ranya.net/wp/contact

TheСписок регистрации MailChimp находится в верхнем правом углу скользящего раскрывающегося списка. Соответствующие сценарии внедряются сразу после div # top_mailing. Это странно, так как я использую GWT в качестве моего ...

У меня есть файл js , который кэшируется между 5-10 минутами, в зависимости от того, использую ли я tomcat из затмения (через Плагин GWT) или запуск tomcat как отдельного.
Это странно, так как я использую GWT в качестве моей платформы, и этот файл вообще не должен кэшироваться (это файл nocache.js для тех из вас, кто знает GWT). Я прочитал в ветке группы GWT Google , что это проблема конфигурации контейнера, а где-то еще, что мне нужно определить в содержащем HTML-файле.
По сути, я сейчас запутался, так как понятия не имею, как заставить этот файл не кэшироваться. Обратите внимание, что этот js генерируется GWT , и я не могу его изменить.

Спасибо за любую помощь, Еффей alt textalt text

6
задан BartoszKP 23 January 2014 в 20:43
поделиться

1 ответ

Использование javax.servlet.Filter

Один из способов сделать это переносимым способом (на разных серверах приложений) - использовать фильтры. В свой web.xml добавьте следующее:

  <filter>
    <filter-name>headersFilter</filter-name>
    <filter-class>MyHeadersFilter</filter-class>
  </filter>
  <filter-mapping>
    <filter-name>headersFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

Затем реализуйте свой MyHeadersFilter, например:

public class MyHeadersFilter implements Filter {

  @Override
  public void doFilter(final ServletRequest request,
         final ServletResponse response, final FilterChain chain)
         throws IOException, ServletException {

      final HttpServletRequest httpRequest = (HttpServletRequest) request;
      final String requestUri = httpRequest.getRequestURI();

      final HttpServletResponse httpResponse = (HttpServletResponse) response;


      if (requestUri.contains(".nocache.")) {
        httpResponse.addHeader("Cache-Control", "no-cache");
        ...

      } else if (...) {
        ...
      }

      chain.doFilter(request, response);
  }
}

Необязательно: Настраиваемые фильтры

Вы также можете сделать свой фильтр настраиваемым из вашего web.xml, используя s:

  <filter>
    <filter-name>headersFilter</filter-name>
    <filter-class>MyHeadersFilter</filter-class>
    <init-param>
        <param-name>myParam</param-name>
        <param-value>myValue</param-value>
    </init-param>
  </filter>

Добавьте следующее в MyHeadersFilter:

    private FilterConfig filterConfig;

    @Override
    public void init(final FilterConfig filterConfig) throws ServletException {
        this.filterConfig = filterConfig;
    }

    @Override
    public void destroy() {
        this.filterConfig = null;
    }

Это дает возможность получить доступ к вашим параметрам инициализации, используя:

filterConfig.getInitParameter("myParam")
15
ответ дан 8 December 2019 в 15:58
поделиться
Другие вопросы по тегам:

Похожие вопросы: