Диаграмма D3.js: ярлыки (<текст> теги) Не отображается в IE11
У меня есть сводная гистограмма, чьи метки <text>
не будут отображаться в IE, но будут в Chrome и Firefox.
Ярлыки, которые у меня есть на сложенных гистограммах, являются частью осей и легенды. Вот как это выглядит при загрузке страницы.
Текст диаграммы действительно загружается, но только после того, как я взаимодействую с ним. Если я сделаю что-нибудь из следующего...
- щелкните/щелкните правой кнопкой мыши в любом месте диаграммы
- наведите курсор на панель (которая запускает всплывающую подсказку, которую я установил)
- изменить размер окна
... отображаются метки диаграммы как на легенде, так и на оси.
Я использую viewbox, что может быть проблемой здесь, поскольку я знаю, что есть черная магия, которая возникает, когда viewbox и IE помещаются в один и тот же банк.
EDIT: Мне кажется, что это уже существовавшая проблема. См. здесь и здесь.
ОБНОВЛЕНИЕ: Мне пришлось менять место, где оно было размещено на странице (я не редактировал CSS или JS), и теперь метки отображаются при загрузке, но исчезают, когда что-либо еще изменяется на (например, полностью несвязанное событие запускается, окно изменяется и т.д.). Как было раньше, если я с ним каким-либо образом взаимодействую, метки снова появляются. Изменено название вопроса, чтобы отразить это.
TL; ДР:
Перед перемещением:
- скрытая onload
- показано при обращении внимания (например, нажатие)
После перемещения:
- показано onload
- скрывается при изменении размера окна
- показано при обращении внимания (например, нажатие)
- повторите шаг 2
Чтобы избежать путаницы, ярлыки диаграммы не скроют, если я нажму на нее после того, как они уже показаны, IE, похоже, быстро устает от игры peekaboo. Однако, если я изменил размер окна или изменил что-то еще на странице, он злится на то, что я уделяю внимание чему-то другому, и снова скрывает метки, пока не нажму на него или не надвигаюсь на панель.
РЕДАКТИРОВАТЬ 2: Здесь, как выглядит эта проклятая диаграмма, когда ей уделяется внимание, которое она хочет.
![Chart w/labels]()
EDIT 3: Еще еще один вопрос, и кажется, что моя оригинальная мысль была правильной: это вызывает viewbox
.
Ответы
Ответ 1
Это может быть немой работа, но рассмотрели возможность запуска функции, которая "нажимает" на график или обращает на него внимание?
Мне понадобился базовый класс состояния объекта, который неактивен, однако я также хотел, чтобы первый экземпляр был активным. Это было довольно неприятно, поэтому я просто сделал небольшую функцию, которая использовалась только один раз, чтобы щелкнуть и перейти на активный при загрузке, но после этого база была установлена как неактивная.
Я бы подумал о том, чтобы делать подобную вещь с графиком, он не должен влиять на какой-либо из других браузеров, так как они все равно загружаются в нужном формате.