если вкладка переключается до завершения вызова ajax, это влияет на другие вкладки. как я могу предотвратить? - PullRequest
0 голосов
/ 30 октября 2019

У меня есть 4 разные вкладки, и каждая из них делает ajax-запрос каждый раз, когда они открываются. Но если я щелкну по одному из них и его запрос ajax не будет завершен, на вновь открытую вкладку будет влиять старый запрос ajax.

  • Один из них открыт (скажем, первый)

  • Перед возвращением запроса ajax я нажимаю вторую вкладку.

  • Вторая вкладка выполняет вызов ajax

  • Первый вызов ajax завершен, и он меняет html-содержимое первой вкладки, и я открываю содержимое вкладок после завершения вызова ajax. Так что, даже если я на второй вкладке, так как вызов ajax первого сделан поздно, он открывает первый раздел. Как я могу предотвратить это? Я хочу, чтобы вызов ajax старых вкладок исчезал, прерывался, не действовал и т. Д.

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

1 Ответ

0 голосов
/ 30 октября 2019

Вы можете прослушать событие browser.tabs.onActivated, сбросить старый объект XMLHttpRequest и создать новый.

Трудно обсудить детали, не видя, как реализован вызов AJAX.

https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/tabs/onActivated https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest

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