Pergunta

Estou desenvolvendo um site AJAX. Portanto, o problema é navegadores (Safari, Chrome) não mostram espaços no conteúdo HTML AJAX-carregado após tags como Strong, Em etc.

Então eu adicionei um doctype para a saída AJAX. Tudo estava bem, havia todos os espaços, a menos que eu testei o site em navegadores WebKit. Quando eu carreguei a página no Safari, eu tenho de erro:

Esta página contém os seguintes erros:

erro na linha 1 na coluna 7: erro interno

Abaixo está uma renderização da página até o primeiro erro.

O que eu tenho que fazer? Ou, em outras palavras, existe alguma maneira para a saída do doctype para WebKit sem obter o erro?

A saída é algo assim:

<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 -->
Foi útil?

Solução

Você já pensou em usar &nbsp; nesses lugares?

Além disso, tente o seguinte em seu resultado ajax de entrada:

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

Algumas estruturas comportam estranho em webkit e colocar espaçamento não-padrão em, é o que você está vendo? Acompanhamento se a obras substituir, se não existem outras opções, mas isso é geralmente o mais simples / correção mais rápida. Aqui está uma tabela completa no espaço em branco esquisitices , mas isso depende do navegador / plataforma como a que quirk você está batendo normalmente.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top