Существует эта платформа для электронной коммерции, в которой используется много аякс. В разделе заказа backoffice есть две возможности: страница списка заказов и подробная страница заказа. URL-адрес не изменяется, было бы легко, если бы он сказал, на какой странице я нахожусь, но это не так.Прослушивание переменных изменений во внешнем файле JavaScript
Эта платформа использует ajax для присвоения переменной некоторого значения, с этим значением, которое я могу рассказать в своем коде, на странице которого я могу лучше всего использовать setInterval(), чтобы получить изменение этой переменной. Я ненавижу использование setInterval(), поэтому я рассматриваю альтернативы.
Почему я ненавижу это? Представьте клиента, который использует нашу «помощь» в этой электронной коммерции и оставит его открытым весь день. setInterval() является ненавистным в таких ситуациях.
Дело в том, что у меня нет никакого контроля в этом внешнем javascript, который запускается платформой, поэтому мне нужен способ использовать какой-то слушатель для этой переменной.
Лучшее, что я могу найти, это Akira's answer, но я не могу использовать его, потому что эта переменная не в моем распоряжении для определения.
Это то, что я сделал:
setInterval(function() {//get the variable from the source code of the platform; it changed? do stuff}, 1000);
Вы знаете лучший способ сделать это, чем setInterval()? Просто чтобы улучшить мой код. Thx
Edit: эта переменная в скрипте, а не в HTML-элемент
Edit 2:this link несколько лучший способ, чем setInterval(), в основном улучшенной setInterval(), потому что вы может сказать ему, сколько итераций делать, и это нормально в том случае, если клиент покидает платформу весь день, но для ее использования мне нужно что-то, чтобы обнаружить, что клиент сделал некоторые действия на странице, что мне нужно для этого ? слушатель soooo, назад к квадрату
извините, но мы не можем использовать Vue.js в нашем приложении, просто Javascript. – iscato
Дело в том, что мы не можем получить доступ к коду этого внешнего javascript, и нам нужно обработать некоторую информацию в зависимости от значения этой переменной, я повторяю переменную javascript, а не элемент в DOM – iscato