Кукловод: изменить существующую функцию - PullRequest
0 голосов
/ 21 марта 2020

Я пытаюсь выполнить реализацию обратного вызова для history.pushState для этого комментария в кукловоде.

Я пробовал много вещей, но я думаю, что имеет смысл, но не работает вообще:

await page.evaluate( () => {
  var pushState = window.history.pushState;
  window.history.pushState = function () {
    pushState.apply(history, arguments);
    var event = new Event('pushState');
    window.dispatchEvent(event);
  };

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

Этот код можно протестировать в SPA, где местоположение меняется.

Спасибо!

...