Как я могу прервать XMLHttpRequests из сценария Механика?

Легкий способ сделать это через XML. Я использовал @Component в уже обработанном jsf bean, но @Autowired не работал, потому что управляемый bean-компонент уже присутствовал в faces-config.xml. Если необходимо сохранить это управляемое имя компонента вместе с его управляемым свойством в XML-файле, тогда предлагается добавить весенний компонент в качестве другого управляемого свойства внутри тега управляемого компонента. Здесь весенний боб в нем определяется в spring-config.xml (может быть где-то попеременно). пожалуйста, обратитесь к https://stackoverflow.com/a/19904591/5620851

под редакцией меня. Я предлагаю либо реализовать его полностью через аннотацию @Managed и @Component, либо через xml для обоих.

49
задан 10 March 2009 в 10:59
поделиться

3 ответа

Как насчет того, чтобы изменить XMLHttpRequest.prototype.open или отправляют методы с заменами, которые настраивают их собственные обратные вызовы и называют исходные методы? Обратный вызов может сделать свою вещь и затем назвать обратный вызов исходным кодом определенный.

, Другими словами:

XMLHttpRequest.prototype.realOpen = XMLHttpRequest.prototype.open;

var myOpen = function(method, url, async, user, password) {
    //do whatever mucking around you want here, e.g.
    //changing the onload callback to your own version


    //call original
    this.realOpen (method, url, async, user, password);
}  


//ensure all XMLHttpRequests use our custom open method
XMLHttpRequest.prototype.open = myOpen ;
6
ответ дан Paul Dixon 7 November 2019 в 21:50
поделиться

Можно заменить unsafeWindow. XMLHttpRequest возражают в документе с оберткой. Немного кода (не протестированный):

var oldFunction = unsafeWindow.XMLHttpRequest;
unsafeWindow.XMLHttpRequest = function() {
  alert("Hijacked! XHR was constructed.");
  var xhr = oldFunction();
  return {
    open: function(method, url, async, user, password) {
      alert("Hijacked! xhr.open().");
      return xhr.open(method, url, async, user, password);
    }
    // TODO: include other xhr methods and properties
  };
};

, Но это имеет тот мало проблемы: сценарии Механика выполняются после , страница загружается, таким образом, страница может использовать или хранить исходный объект XMLHttpRequest во время, он - последовательность загрузки, так запросы, выполненные, прежде чем Ваш сценарий выполнится, или с реальным XMLHttpRequest объект не был бы прослежен Вашим сценарием. Никакой способ, которым я вижу для работы вокруг этого ограничения.

1
ответ дан waqas 7 November 2019 в 21:50
поделиться

Не уверенный, если можно сделать это с механиком, но если Вы создаете расширение тогда, можно использовать сервис наблюдателя и http-on-examine-response наблюдателя.

0
ответ дан Marius 7 November 2019 в 21:50
поделиться
Другие вопросы по тегам:

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