getComputedStyle не всегда возвращает значения
Нужно мне получить значения стилей в пикселях которые браузер рендерит. Для этого использую getComputedStyle, но width, height, line-height отдаются всегда нормально, а вот пайдинги и марджины отдаются через раз и вместо значений обычно всегда 0px, но волей случая иногда возвращает нормальные значения. Притом рандомно, то отдает их, то не отдает и так во всех браузерах. Не пойму куда копать. Заранее спасибо за помощь.
Использую для сборки webpack2("style-loader", "css-loader?localIdentName=[hash:base64:10]") + babel ([ ["es2015", { modules: false }], "stage-0" ]. Список стилей:
getStyle property = this.toCamelCase(property); let ret, styles, view = element.ownerDocument.defaultView; if (!view || !view.opener) { view = window; } styles = view.getComputedStyle(element, null); return styles[property]; Document ready event listener let eventCallback = function () { document.removeEventListener("DOMContentLoaded", eventCallback, false); callback(); }; document.addEventListener("DOMContentLoaded", eventCallback, false); |
Методом проб ошибок помогла замена callback();
на setTimeout(callback, 500); Но меня такое решение не устраивает, теряем .5 секуды, перед обработкой документа. Как отловить момент полной загрузки страницы? |
Lipon,
window.addEventListener("load",callback) |
Цитата:
Так же document.readyState в последнем едж, фоксе и хроме не переходит в состояние complete, я пробовал циклом считывать в eventCallback, цикл зависает так как после состояния interactive нет изменений... |
Часовой пояс GMT +3, время: 19:09. |