Nano Hash - криптовалюты, майнинг, программирование

JSF, Primefaces и IE Ajax не работают

Я использую JSF Mojarra 2.2.1, Primefaces 4.0 Snapshot и IE 9. Эта проблема возникает в IE 9, и аналогичная проблема возникает, когда я заменяю его на f: ajax, если я не визуализирую с помощью @all. Когда командная кнопка отображается через запрос ajax, в следующем запросе запускается обычный запрос. Я создал простой код, чтобы проиллюстрировать проблему.

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:p="http://primefaces.org/ui">
<h:head>

</h:head>
<h:body>

    <h:form id="testForm">
        <h1>Test of IE9 Ajax</h1>
        Text: <h:outputText value="#{testBean.count}" />
        <br />
        <p:commandButton oncomplete="alert('a')" update=":testForm"
            action="#{testBean.increment}" value="click me">
        </p:commandButton>

    </h:form>

</h:body>
</html>

И моя фасоль,

package test;

import java.io.Serializable;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;

@ManagedBean
@ViewScoped
public class TestBean implements Serializable{

    /**
     * 
     */
    private static final long serialVersionUID = 1L;
    private int count = 0;

    public void increment()
    {
        count++;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }

}

В тесте предупреждение выдается только для нечетных номеров, что является другим индикатором того, что вызов ajax не выполняется плавно.

Обновлять:

Я понял, что это происходит, потому что IE9 игнорирует события input onclick = "javascript", когда они заменяются методом jquery replace all.

Обновление 2:

Этого не происходит на моем домашнем компьютере IE 9 (той же версии), это происходит только на офисном компьютере. Я не вижу настроек безопасности. Вы знаете, почему это происходит? Javascript работает, но не работает должным образом.

Любая помощь высоко ценится.

Спасибо


  • иногда эта проблема возникает из-за баночки Primefaces, попробуйте другую версию Primefaces, может она сработает, также проверьте консоль IE, чтобы узнать о проблеме 22.08.2013
  • Переход на 2 старых версии Primefaces не сработал, интересно то, что он отображает следующий сценарий для события нажатия кнопки, но он выполняет сценарий при первом щелчке и не выполняется при втором щелчке. Скрипт: onclick = PrimeFaces.ab ({источник: 'testForm: j_idt7', обновление: 'testForm', oncomplete: function (xhr, status, args) {alert ('a');}}); return false; 22.08.2013
  • вы можете попробовать без двоеточия, т.е. update = testForm? 22.08.2013
  • нет, это не сработало. 22.08.2013
  • вы пробовали это в другом браузере? Если он не работает в другом браузере, можете ли вы сообщить нам, что сообщает консоль ошибок браузера? 23.08.2013
  • Этого не происходит в firefox 22 и ie 10. Консоль ничего не говорит, я думаю, все дело в том, как IE 9 обрабатывает динамически добавленные элементы ввода с помощью JSF или Primefaces. 23.08.2013
  • PF 4 в настоящее время находится в стадии альфа (он доступен только в виде снимка, который вы должны создать самостоятельно). Эта проблема явно является ошибкой в ​​PF 4. Как альфа-тестировщик, вы обязаны сообщить им об этой проблеме. Здесь мы мало что можем для вас сделать. Или, если вы на самом деле намеревались не тестировать его, а использовать, тогда вам не следует использовать альфа-версию, если вы хотите стабильное программное обеспечение. 25.08.2013
  • Спасибо, BalusC, я буду использовать последнюю стабильную версию. Если вы читаете мои обновления, проблема связана с настройками IE моего рабочего компьютера (которые я не вижу, все они удалены, мне нужно спросить ИТ), он также не работает гладко, когда я отбрасываю основные грани и использую jsf ajax, хотя javascript включен. 25.08.2013
  • Извините, я пропустил эту часть. Я бы начал очищать кеш браузера. 25.08.2013
  • Возможно, в вашем офисном IE отключен ActiveX. Я думаю, что это невозможно проверить, не имея доступа к настройкам безопасности. Если у вас есть доступ, проверьте Безопасность ›Интернет› Пользовательский уровень ›Элементы управления ActiveX и плагины на вкладке Свойства обозревателя› Безопасность IE. 27.08.2013
  • что, если вы измените action = # {testBean.increment} на actionListener? 29.08.2013
  • +1 Я также вижу такие проблемы, как то, что в IE не работает ajax. Попробовав отладить собственное приложение, я просто попробовал демонстрацию Primefaces, и, к моему удивлению, даже их витрина не работает правильно для материалов с ajax в IE 10! (без использования режима совместимости в IE). 28.10.2013
  • Вероятно, это не то, что вы хотите услышать, но я где-то читал, что поддержка IE в PrimeFaces не очень хорошая и даже прекращается. Могут быть только версии IE ниже 10. К сожалению, на работе компьютеры работают с IE8! Я устанавливаю обнаружение браузера и прошу пользователей загрузить Chrome или Firefox. 13.11.2013
  • Привет, у меня возникла эта проблема. Случайно в IE9 и IE10, вы нашли обходной путь? 11.04.2014

Ответы:


1

Попробуйте ввести следующий код внутри тега <h:head>:

<f:facet name="first">
    <meta http-equiv="X-UA-Compatible" content="edge" />
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
</f:facet>

Дайте мне знать, если это поможет.

10.03.2015

2

Сброс настроек безопасности браузера (IE 11) решил проблему в моем случае. К сожалению, я не знаю, какая настройка за это отвечает.

13.07.2016
  • Я не понимаю, почему мне приходилось переписывать ответ несколько раз, пока он не перестал автоматически отклоняться из-за квалификационных требований, которые не были упомянуты, но заявлены как невыполненные. 14.07.2016
  • Новые материалы

    Кластеризация: более глубокий взгляд
    Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

    Как написать эффективное резюме
    Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

    Частный метод Python: улучшение инкапсуляции и безопасности
    Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

    Как я автоматизирую тестирование с помощью Jest
    Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

    Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
    Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

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

    Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
    В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..