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, время: 16:40. |