Вкладки пользовательского интерфейса jQuery, загружающие текстовые файлы, не сохраняют новые строки - PullRequest
0 голосов
/ 19 августа 2011

Следующий код загружает содержимое txt-файла в новую вкладку. Но он не сохраняет символы новой строки, даже если содержимое находится внутри тега <pre>:

multiline.html:

<code><!DOCTYPE html>
<html>
<head>
<script src="js/jquery-1.4.1.min.js"></script>
<script src="js/jquery-ui-1.8.15.custom.min.js"></script>
<link rel="stylesheet" href="js/ui-lightness/jquery-ui-1.8.15.custom.css" type="text/css"></link>
<style>
pre {
  border: 1px red solid !important;
}
</style>
<script>
$(document).ready(function() {
  $("#tabs").tabs({panelTemplate: '<pre>
'}); });

PRE TAG:

  Multi
  line
  FTW
  

PRE TAG, загруженный jQueryUI:

multiline.txt:

I'm line #1
And I'm line #2
Guess what! I'm #3

And woohoo I'm #4 but I wanted to be alone!

В качестве альтернативы я попытался создать jsfiddle , но безуспешно, так как браузер будет кричать на меня с ошибкой загрузки из разных источников.

Ответы [ 3 ]

1 голос
/ 19 августа 2011

Вы можете попробовать обернуть текст тегом pre :

http://www.w3schools.com/tags/tag_pre.asp

0 голосов
/ 31 августа 2011

Согласно jQueryUI ticket # 7669 , это невозможно сделать с помощью виджета tabs.

Удаленные вкладки ожидают загрузки HTML, а не открытого текста.

0 голосов
/ 19 августа 2011

Помните, что при разборе HTML игнорируются разрывы строк.Если вы хотите, чтобы он отображался с разрывами строк, вам нужно добавить <br /> теги.

I am line #1 <br />
I am line #2 <br />
I am line #3 <br />

EDIT : поскольку у вас нет доступа к источнику, вы можетесделать что-то вроде этого (используя идентификатор «содержимого» в качестве заполнителя для фактического идентификатора DIV контейнера, замените его своим.):

$("#content").html( $("#content").html().replace("\n","<br />") );
...