Я работаю над страницей, в нижней части которой будет отображаться группа часто задаваемых вопросов с несколькими различными уровнями вкладок, а затем вопросы, которые пользователь может развернуть / свернуть. Мы хотим, чтобы пользователь мог красиво печатать
- Только вопросы / ответы, которые они расширили
- Все вопросы / ответы в подгруппе, которую они выбрали
- Все вопросы / ответы в основной группе, которые они выбрали
- Все вопросы / ответы на странице
План состоит в том, чтобы иметь выпадающий список с кнопкой печати (не скрытой Javascript), который бы применял класс, при нажатии которого скрывался бы другой контент на странице, и давал бы нам отображение, которое мы хотим для выбранной пользователем опции , Это все достаточно просто сделать, и мы можем применить стиль печати по умолчанию, используя # 4 в качестве универсального, когда javascript отключен, который может быть запущен через обычный механизм печати.
Проблема заключается в том, как удалить этот особый стиль, когда печать будет выполнена, чтобы, если бы пользователь пошел и нажал кнопку печати в браузерах, он получил ожидаемую распечатку со всей страницы вместо последней выбранной ». специальный "просмотр печати.
Я придумал несколько потенциальных решений, но я не совсем доволен ни одним из них:
- Мы могли бы заменить нашу запланированную печать страницы ссылкой на другую страницу, которая сама себя форматирует, не мешая остальному содержанию страницы. Мне не нравится эта идея, потому что она разбивает страницу на части и, если возможно, я всегда предпочитаю держать пользователя на странице.
- Мы можем установить тайм-аут при нажатии кнопки печати, чтобы удалить наш специальный класс после некоторого периода времени, возвращая страницу в состояние по умолчанию. Мне это не нравится, потому что это приведет к непредсказуемому поведению с точки зрения пользователя. Если они печатают «слишком долго» в первый раз, они не получают стиль, который хотят. Если они напечатают всю страницу «слишком быстро» после специальной печати, они получат странный результат
- Мы можем использовать триггер после печати в IE, чтобы удалить стиль для этих пользователей, но, насколько я могу судить, это решение является лишь вариантом в IE и оставляет все остальные браузеры холодными.
- Мы можем сделать общее предположение, что пользователь вряд ли зайдет на страницу и сделает специальный отформатированный отпечаток, за которым последует желание распечатать всю страницу и просто отпустить.
Какие-нибудь другие решения, о которых каждый может думать?