Проблема форматирования Extjs при использовании Ext.Template - PullRequest
0 голосов
/ 07 сентября 2011

RowExpander определен так:

<code>var expander = new Ext.ux.grid.RowExpander({
    id: 'expander',
    tpl : new Ext.Template(
        '<pre style="word-wrap:break-word;"><p>{bigText}</p>
) });

bigText возвращается с сервера и содержит полный HTML-документ со всеми HTML-тегами. По какой-то причине tpl не может правильно интерпретировать эти теги, и окончательное форматирование на странице испорчено (например, слишком большой интервал между фараграфами).

Какой хороший способ решить эту проблему?

РЕДАКТИРОВАТЬ: Это содержимое, возвращаемое с сервера: ( Прошу прощения за плохое форматирование ...) "bigText": "\ n \ n \ n \ n \ n.header {\ n \ tcolor: black; \ n \ tfont-family: Arial, Helvetica, Sans-Serif; \ n \ tfont-size: 10pt \ n } \ n \ n.footer {\ n \ tcolor: black; \ n \ tfont-family: Arial, Helvetica, Sans-Serif; \ n \ tfont-size: 10pt; \ n \ tfont-style: italic; \ n } \ n \ n .body-header {\ n \ tcolor: black; \ n \ tfont-family: Arial, Helvetica, Sans-Serif; \ n \ tfont-size: 10pt; \ n \ tfont-weight: bold; \ n} \ n .body-content {\ n \ tcolor: black; \ n \ tfont-family: Arial, Helvetica, Sans-Serif; \ n \ tfont-size: 10pt; \ t \ n} \ n \ n \ n \ n \ n \ n \ nЭто уведомляет вас о том, что у вас есть остаток на счете, превышающий или превышающий пороговое значение, доступное для Online Banking for Business. Запрашиваемая информация отображается ниже.
\ n \ n

\ n \ n \ n Номер счета: xxxxxxx
\ n \ n Сумма баланса: 100
\ n \ n \ n
\ n \ n \ n \ nЭто электронное письмо и любые вложения могут содержать конфиденциальную и конфиденциальную информацию. Если вы не являетесь получателем, сообщите об этом по адресу xxx@xx.com или позвоните по телефону 1-xxx-xxx-xxxx, и пожалуйста, дель по электронной почте и уничтожить любые копии. Любое распространение или использование этой информации лицом, отличным от предполагаемого получателя, является несанкционированным и может быть незаконным.
\ n \ n \ n \ n \ n \ nОбновление инициировано: 06-Sep-2011 at 2: 10 вечера по восточному поясному времени Канады
\ n \ n \ n \ n \ n \ n "

Ответы [ 3 ]

1 голос
/ 08 сентября 2011

HTML-документ может содержать только один из тегов <HTML>, <HEAD> <BODY>. Удалите эти теги из ответа, отправленного сервером, и попробуйте.

0 голосов
/ 07 сентября 2011

Если bigText действительно содержит полный HTML-документ с <html>, <head>, <title> и т. Д., То лучше извлекать из него только часть тела.

Кроме того, перенос не имеет смыславсе это внутри тега <pre>.Зачем вы это делаете?

Если вы действительно хотите сохранить все форматирование HTML-страницы как есть, возможно, вам следует использовать вместо <iframe>.

0 голосов
/ 07 сентября 2011

Предварительный тег предназначен для форматированного текста, а не для отображения HTML. Сначала вам нужно выйти из HTML:

<code>'<pre style="word-wrap:break-word;"><p>{[Ext.util.Format.htmlEncode(values.bigText)]}</p>

http://dev.sencha.com/deploy/ext-1.1.1/docs/output/Ext.util.Format.html#htmlEncode

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...