Я настраиваю наблюдатель мутаций для веб-страницы, и в его обратном вызове я устанавливаю переменную на 0, это приводит к зависанию mozilla firefox. Между прочим, этого не происходит на chrome: Javascript.
var totalPrice = document.querySelector(".totalPrice");
function mutationCallback(mList, observer){
var ii = document.querySelector(".item");
prices = document.querySelectorAll(".priceInfo");
let tPrice = 0.0;
prices.forEach((pric, index, array)=>{
tPrice += parseFloat(pric.textContent) * parseFloat(pric.parentNode.children[1].children[0].value);
})
totalPrice.textContent = tPrice.toString();
console.log(tPrice)
};
, но как только я удаляю строку tPrice = 0, она работает нормально. Я также попытался установить let tPrice = 0.0
перед mutationCallback, и это продолжается.
Я видел здесь ответ: https://bugzilla.mozilla.org/show_bug.cgi?id=1395767, предлагающий использовать takeRecords (), но с веб-сайта разработчика Mozilla, takeRecords () используется, когда пришло время прекратить наблюдение за DOM https://developer.mozilla.org/en-US/docs/Web/API/MutationObserver/takeRecords
Но в моем случае DOM нужно соблюдать всегда. Как мне это исправить, пожалуйста
ТАКЖЕ
Просто попытался изменить totalPrice.textContent = tp.toString()
на totalPrice.id = tp.toString()
, и он меняет его идентификатор без сбоев.