SharePoint 2010 - дублирование записей веб-части редактора контента - PullRequest
6 голосов
/ 16 февраля 2011

Я использую Javascript внутри веб-части редактора контента SharePoint 2010 для вставки объекта Silverlight. Мне нужно сделать это вместо использования веб-части Silverlight, поскольку веб-части Silverlight в настоящее время не включены. Это делается полностью с использованием Javascript.

Проблема возникает, когда я иду позже, чтобы отредактировать Javascript внутри CEWP - я вижу оригинальный Javascript, запрашивающий создание объекта Silverlight, и я могу, это странная часть, у CEWP есть весь сгенерированный HTML Объект Silverlight тут же добавляется к скрепту.

Так что теперь, когда я сохраняю, я сохраняю сценарий для создания объекта Silverlight И HTML, который был ранее сгенерирован, эффективно дублируя объект Silverlight. Если я отредактирую снова, у меня теперь будет три объекта Silverlight и т. Д.

Вы можете убедиться в этом сами, используя следующий пример кода:

  1. Добавление новой веб-части редактора контента на страницу в SharePoint 2010
  2. Редактирование исходного HTML
  3. Добавьте следующий код:

    <script type="text/javascript">document.write("Hello<br/>");</script>

Сохраните веб-часть, и все готово. Теперь просто продолжайте редактировать CEWP. Каждый раз, когда вы нажимаете «Редактировать веб-часть», к вашему сценарию добавляется «Hello».

Как я могу использовать Javascript для вставки элементов DOM, чтобы сгенерированный HTML не появлялся в CEWP?

Ответы [ 3 ]

11 голосов
/ 17 февраля 2011

Это не работает, потому что SharePoint 2010 не хочет, чтобы вы копировали и вставляли скрипты в редактор. Вместо этого вы должны поместить свои сценарии в текстовый файл (да, это верно текстовый файл), хранящийся в SharePoint, и затем указать CEWP на использование этого файла в качестве источника.

Во-первых, создайте файл со всем вашим кодом (как Javascript, так и HTML - в основном все, что вы обычно вставляли бы в редактор контента.) Обязательно оберните свой Javascript в тег <script type="text/javascript"> и сохраните файл с Расширение .txt, например "scripts.txt".

Затем добавьте CEWP на свою страницу и выберите «Редактировать веб-часть». В панели редактора контента справа, в разделе «Ссылка на контент», добавьте URL в ваш текстовый файл и нажмите «Применить», и все готово.

Посмотрите следующий URL для полного описания этого изменения в SharePoint 2010: http://sptwentyten.wordpress.com/2010/08/31/insert-javascript-into-a-content-editor-web-part-cewp/

0 голосов
/ 03 ноября 2011

Другой вариант - веб-часть HTML-формы (в категории «Формы»).Это можно использовать для подключения к другим веб-частям, но проще - для редактирования JavaScript непосредственно в веб-части.Похоже, что правила для веб-частей редактора контента не применяются к веб-частям форм HTML, поэтому он обеспечивает большую гибкость.

Дополнительная информация от Microsoft находится здесь:

http://office.microsoft.com/en-us/sharepoint-server-help/use-the-html-form-web-part-to-filter-and-display-data-in-another-web-part-HA101791813.aspx#_Toc274731120

0 голосов
/ 17 февраля 2011

Используйте jQuery - возможно, гораздо безопаснее, чем document.write, который может разбить javascript на всю страницу.

Или используйте код по этой ссылке, чтобы поместить чистый HTML в CEWP вместо того, чтобы копаться в JavaScript:1003 *

http://karinebosch.wordpress.com/silverlight-meets-sharepoint/walkthrough-2-hosting-silverlight-3-in-a-content-query-web-part/

...