Вопрос

Я разрабатываю сайт AJAX.Итак, проблема в том, что браузеры (Safari, Chrome) не отображают пробелы в HTML-контенте, загруженном AJAX, после таких тегов, как Strong, Em и т. д.

Затем я добавил тип документа к выводу AJAX.Все было нормально, были все пробелы, если только я не тестировал сайт в браузерах WebKit.Когда я загрузил страницу в Safari, я получил ошибку:

Эта страница содержит следующие ошибки:

ошибка в строке 1 в столбце 7:внутренняя ошибка

Ниже представлен рендеринг страницы до первой ошибки.

Что мне делать?Или, другими словами, есть ли способ вывести тип документа для WebKit без получения ошибки?

Вывод примерно такой:

<div class="topic">
    <div class="colon">
        <div class="topictext">
            <h2><a href="/artikul/1" class="showhuman" id="1" onclick="showhumaninfo (1); return false;">KirillTitov</a> tells us:</h2><p>Here you go.<br/>
<b>Bold text</b> <i>italic text</i> <strike>etc</strike>…</p> 
            </div><!-- topictext -->
            <div class="topicright"></div>
            <div class="clear"></div>
            <div class="topicinfo">
            <div class="topicclock">
                <font title="Timestamp for geeks — 1253816398">24&#0160;september,&#0160;year&#0160;2009</font>
            </div><!-- topicclock -->
            <div class="topiccomment">
                <a href="/joindachat/2" class="entertopic" id="2" onclick="entertopic (2); return false;">Go inside</a> (мнений: 0)
            </div><!-- topiccomment -->
        </div><!-- topicinfo -->
        <div class="topicindex">
            <img src="/img/bgtopicindex.gif" border="0" alt="" />
        </div><!-- topicindex -->
        <div class="blur"></div>
    </div><!-- colon -->
    <div class="colon">
        <div class="indextopcomment">
            <div class="commenttopleft"><img src="/img/bgcommentindexgreen.gif" alt="" border="0" /></div>
            <div class="texttopcomment nonenew">
                No comments here.
            </div>
            <div class="clear"></div>
            </div><!-- indextopcomment -->
            </div><!-- colon -->
            <div class="clear"></div>
        </div><!-- topic -->
    <div class="clear"></div>
</div><!-- topic -->
Это было полезно?

Решение

Вы думали об использовании &nbsp; в тех местах?

Кроме того, попробуйте следующее для входящего результата ajax:

.Replace("\xA0", "&nbsp;").Replace("\x20","&nbsp;");

Некоторые фреймворки ведут себя странно в Webkit и вставляют нестандартные интервалы. Что вы видите?Проследите, работает ли замена, если нет, то есть другие варианты, но обычно это самое простое и быстрое решение. Вот полная таблица странностей с пробелами, но то, какую причуду вы обычно используете, зависит от браузера/платформы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top