Проблема с пустым тегом Div модуля DNN MobiNuke

#html #mobile #module #dotnetnuke

#HTML #Мобильный #модуль #dotnetnuke

Вопрос:

Я использую модуль DNN MobiNuke (v02.00.03) из DataQuadrant для создания мобильной версии созданного мной веб-сайта. Все идет хорошо, ЗА исключением странной проблемы, с которой я столкнулся с мобильными оболочками. У меня есть простой скин для мобильного устройства, который выглядит следующим образом:

 <div id="mobile_frame">
  <div id="mobile_header">
      ...
      ...
  </div>
  <div id="main_wrap">
    <div id="mobile_main" class="sub">
      <div id="ContentPane" runat="server"></div>
    </div>
  </div>
  <div id="mobile_footer">
    ...
    ...
  </div>
</div>
  

Возникающая проблема заключается в том, что ЛЮБОЕ содержимое в ContentPane, имеющее пустой тег div, само изменится при отображении в мобильном браузере:

 <div class="xxxx"></div>
  

Изменится на

 <div class="xxxx" />
  

Самая большая проблема, которую это вызывает, заключается в том, что браузер интерпретирует тег как открывающий тег div без закрывающего тега. Поэтому он помещает конечный тег div практически везде, где он хочет. Из-за этого вся разметка после этой области сильно запутывается.

Вот пример кода, каким он должен быть, и как он отображается на странице:

Должно быть:

   <div id="main_wrap">
    <div id="mobile_main" class="sub">
      ... Content Here ...
    </div>
  </div>
  <div id="mobile_footer">
    ...
  </div>
</div>
  

Но он отображается как:

   <div id="main_wrap">
    <div id="mobile_main" class="sub">
      ... Content Here ...
    </div>
    <div id="mobile_footer">
      ...
    </div>
  </div>
</div>
  

Я могу исправить это в разметке, которую я контролирую, поместив внутри тегов, но у меня нет времени / энергии просматривать КАЖДЫЙ модуль, который может отображаться в ContentPane, для проверки наличия пустых тегов. Кроме того, есть места, где я хочу пустой тег, чтобы позже заполнить его содержимым с помощью javascript.

Наконец, я провел тонну исследований, чтобы найти это, и я ничего не могу найти. Самое близкое, что я обнаружил, это то, что это происходит в XSLT при преобразовании некоторого XML, но, насколько я знаю, MobiNuke этого не делает.

Любая помощь приветствуется. Спасибо!

Ответ №1:

Я разобрался с проблемой после обсуждения с поставщиком. В настройках модуля есть параметр, который называется «Включить адаптацию контента». По-видимому, настройка попытается сделать HTML совместимым с XHTML, но у меня это определенно не сработало. Надеюсь, это поможет кому-нибудь еще увидеть это.