Я использую модуль 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 этого не делает.
Любая помощь очень ценится. Спасибо!