JavaScript не будет запускаться, если вы не вошли в систему (WordPress)

#javascript #wordpress

#javascript #wordpress

Вопрос:

 <script>

// get all bars
var bars = document.getElementsByClassName('bar');

// determine the highest value
var longest = 0;

for (var bar of bars) {
    if (parseFloat(bar.getAttribute('value')) > longest) {
        longest = parseFloat(bar.getAttribute('value'));
    }
}

// set width relative to the highest value for each bar
for (var bar of bars) {
    bar.style.width = `${parseFloat(bar.getAttribute('value')) / longest * 100}%`;
}



window.onload = function() {
    jQuery("path").attr('stroke-width','4');
};


</script>
  

У меня есть этот скрипт, который получает две полосы и устанавливает ширину на основе их значения (которое было динамически добавлено грозными формами в WordPress. Это всегда работало нормально. Однако после перехода на использование Cloudflare у меня возник нескончаемый поток проблем, одна из которых заключается в том, что это больше не работает, если вы не вошли в систему как администратор.

Одна строка должна быть короче другой. Вместо этого они оба всегда работают на 100% (если вы не вошли в систему как администратор, и в этом случае все работает нормально). Скрипт запускается; я вставляю console.log() в скрипт, который работает. В консоли нет ошибки, просто не изменяется CSS.

Вот пример этого (не) в действии.

Комментарии:

1. Что именно я должен видеть, когда нажимаю на ссылку «(не) в действии»? Все выглядит нормально, и я не получаю никаких ошибок или каких-либо сообщений консоли. Вы уверены, что это не просто проблема с кэшированием, особенно если вы используете CloudFlare?

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