Резюме : Я пытаюсь спросить - идем ли мы по этому совершенно неправильному пути, или есть ли способ помешать Sharepoint или его многофункциональному редактору манипулировать HTML, который получает добавлен
Меня «бросили» в проект, вращающийся вокруг Sharepoint 2007 (поверьте мне, я не совсем доволен этим), и одна из вещей, которую ищут, это способ использования rich-content- область, в которую пользователи помещают «расширенный контент», а затем добавляют к нему определенные «дополнительные элементы», такие как расширяемые области содержимого, диалоговые окна и т. д.
Первоначальный план атаки состоял в том, чтобы добавить пользовательскую кнопку на панель инструментов редактора контента с расширенным содержимым Sharepoint, которая у нас есть для этого, и она работает, и т. Д., И присоединить обработчики событий javascript к определенным элементам, что также работает точка.
Одна вещь, которую мы делаем, - это использование элемента <a>
и последующего <div>
для настройки диалога (используя пользовательский интерфейс jQuery для создания волшебства). Когда пользователь нажимает кнопку «Вставить диалоговое окно», в редактор добавляется следующее:
<a href="#" class="dialog-trigger">Click me to open the dialog</a>
<div class="dialog-content">
this is some dialog content etc
</div>
Когда страница загружается, мы подключаемся к методу щелчка .dialog-trigger, возьмем одноуровневый элемент a
, который является .dialog-content
, и настроим его как диалоговое окно. Это «работает», если вы не хотите ничего редактировать.
Что я обнаружил, так это то, что как только вы начинаете редактировать контент в .dialog-content
DIV, редактор rich-content начинает манипулировать HTML, например, добавляя список, добавляет следующий HTML:
<li><div class=dialog-content>Some list item</div></li>
<li><div class=dialog-content>Some list item 2</div></li>
<li><div class=dialog-content>Another list item</div></li>
Как вы можете себе представить, этот вид ломает то, что мы пытаемся сделать.
Подводя итог тому, что я пытаюсь спросить - идем ли мы по этому поводу совершенно неправильно, или есть ли способ помешать Sharepoint или его многофункциональному редактору манипулировать добавляемым HTML-кодом?