У меня есть расширение для браузера, которое снимает снимок экрана с видимой страницы (используя API-интерфейс браузера).Javascript - определить, когда отражаются изменения стиля?
Пользователь инициирует процесс пользовательским контекстным меню, вводимым в веб-страницы.
wrapper.addEventListener("contextmenu", function(e) {
//prevent default context menu
e.preventDefault();
menu.style.display = "block";
});
menu.addEventListener("click", function click(e) {
e.preventDefault();
e.stopPropagation();
//prevent the appearance of the menu in the screenshot
menu.style.display = "none";
capture();
}, false);
Проблема в том, что меню по-прежнему отображается на экране. Есть ли способ определить, когда отражаются изменения стиля?
Спасибо.
Почему бы не использовать таблицу стилей печати и просто 'display: none' соответствующий элемент? –
Элемент, который я скрываю, это контекстное меню, я меняю его между видимым/скрытым с помощью кода, потому что, как еще пользователь может щелкнуть по нему, если он уже скрыт. (т. Е. Я скрываю его только тогда, когда пользователь нажимает на него) –
Возможный дубликат [Как заставить WebKit перерисовывать/перерисовывать для распространения изменений стиля?] (Http://stackoverflow.com/questions/3485365/how-can -i-force-webkit-to-redraw-repaint-to-spread-style-changes) или [Force DOM перерисовать/обновить Chrome/Mac] (http://stackoverflow.com/q/8840580/1048572)? – Bergi