Стили, не относящиеся к некоторым элементам, Галерея исчезает в TinyMCE, WP 3.5

Я заметил странную ошибку в Chromium/Chrome, когда после некоторых изменений один или несколько заполнителей галереи (камера и изображение в WP3.5) исчезают. В одном случае у меня есть один местозаполнитель, который отображает, а тот, что выше, не показывает, инспектор показывает, что к нему не применен стиль img.wpGallery, хотя они оба должны работать.

За работой:

<img class="wpGallery mceItem" title="gallery ids=&quot;77,76&quot;" alt="" src="http://localhost/wordpress/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif" data-mce-src="http://localhost/wordpress/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif">

Другой, не работает

<img class="wpGallery mceItem" title="gallery ids=&quot;32,22&quot;" alt="" src="http://localhost/wordpress/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif" data-mce-src="http://localhost/wordpress/wp-includes/js/tinymce/plugins/wpgallery/img/t.gif">

Они были рядом друг с другом, но инспектор проверяет, что правило img.wpGallery не относится к одному из них, поэтому оно исчезает.

Эта странная ошибка, кажется, вызвана нечетным состоянием редактора - сохранение или перезагрузка показывает его снова правильно, пока вы не начнете щелкать и редактировать. Это почти похоже на ошибку графики /webkit. Кажется, что это происходит случайным образом, но добавление нескольких галерей, ввод непосредственно после, прежде чем щелкнуть из редактора, в редакторе, повторяя несколько раз, обычно может привести к исчезновению одной или нескольких галерей...

Это известная ошибка в Wordpress, TinyMCE или Webkit? Кто-нибудь нашел решение?

Я вижу это на двух установках WP, на двух разных системах и даже на теме по умолчанию.

3 ответа

Решение

Похоже, что простой обходной путь должен пройти через tinymce.activeEditor.contentDocument.getElementsByTagName('img') элементы и установить element.className = element.className. (Это можно добавить во многие обработчики, такие как onClick, onChange и т. Д., Чтобы предотвратить странное состояние, когда класс не применяется сам по себе.)

Кажется, это хороший обходной путь, но я хотел бы знать, как / почему TinyMCE с Webkit переходит в это странное состояние.

Кажется, связано с ошибкой Chrome. Это будет исправлено в Wordpress 3.6. (см.: http://core.trac.wordpress.org/ticket/24177)

Предлагается переименовать css-классы из wpGallery в wp-gallery.

Удивлен видеть кого-то с такой же неясной проблемой, как я.

Чтобы обойти это, я переместил свой CSS в атрибут стиля изображения. Конечно, я полностью контролировал визуализируемые элементы... не уверен, поможет ли это в вашем случае.

Другие вопросы по тегам