Текст в HTML в SharePoint с использованием Javascript - PullRequest
0 голосов
/ 17 июля 2010

В SharePoint 2007 у меня есть сводный однострочный текстовый столбец, который является усечением многострочного текстового столбца.Пройдя через сложный процесс , чтобы попасть туда, он превращается в текст, который затем необходимо преобразовать обратно в HTML, чтобы теги типа <div> не отображались.Следующий код работает, если многострочный столбец представляет собой форматированный текст, но не, если это расширенный форматированный текст.У кого-нибудь есть код, пригодный для этой работы?(Примечание: я работаю над этим, но я до сих пор не делал никакого javascript, так что он идет медленно).

<script type="text/javascript">
  var theTDs = document.getElementsByTagName("TD");
  var i=0;
  var TDContent = " ";
  while (i < theTDs.length)
  {
    try
    {
      TDContent = theTDs[i].innerText || theTDs[i].textContent;
      if (TDContent.indexOf("<div") == 0)
        {
          theTDs[i].innerHTML = TDContent;
        }
    }
  catch(err){}
  i=i+1;
  }
</script>

Результат, который я получаю сейчас, ничего не видно, потому что с расширенным богатымtext тег div больше моего предела усечения в 45 символов.

1 Ответ

2 голосов
/ 19 июля 2010

Как насчет использования методов Кристофа для вывода HTML с использованием вычисляемого столбца .

В частности, он написал javascript, который превратит закодированный HTML (который у вас есть) в HTML.

Добавьте следующее в веб-часть редактора контента (CEWP) на той же странице.

<script type="text/javascript">
/*
Text to HTML Lite - version 2.1.1
Questions and comments: Christophe@PathToSharePoint.com
*/

function TextToHTML(NodeSet, HTMLregexp) {
   var CellContent = "";
   var i=0;
   while (i < NodeSet.length)
   {
      try 
      {
         CellContent = NodeSet[i].innerText || NodeSet[i].textContent;
         if (HTMLregexp.test(CellContent)) 
            { NodeSet[i].innerHTML = CellContent; }
      } 
      catch(err)
      {}

      i=i+1;
   }
}

// Calendar views
var regexpA = new RegExp("\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*");
TextToHTML(document.getElementsByTagName("a"),regexpA);

// List views
var regexpTD = new RegExp("^\\s*<([a-zA-Z]*)(.|\\s)*/\\1?>\\s*$");
TextToHTML(document.getElementsByTagName("TD"),regexpTD);

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