ОПАСНОСТ! Не използвайте уеб частта на редактора на скриптове на SharePoint 2013

и защо трябва да използвате уеб частта за редактор на съдържание

В някакъв момент по време на цикъла на SharePoint 2013 беше дадена дезинформация относно уеб частта на редактора на съдържание (CEWP), което доведе до препоръка винаги да се използва новата уеб част на редактора на скриптове вместо CEWP. Тази информация не е точна! CEWP работи перфектно, когато се използва правилно — чрез свързване към html файл чрез свойството Content Link на вашия CEWP.

Нямаше да правя публикация за това, ако Script Editor не беше толкова ужасен. Като професионален разработчик, никога не трябва да използвате Script Editor, дори ако трябва да инжектирате 5 реда код. Вашият код трябва да бъде свързан с използване на свойството Content Link на CEWP.

Защо трябва да използвате CEWP вместо редактор на скриптове

Случвало ли ви се е да промените кода си в някакъв момент? Сигурен съм, че имаш! Актуализирането на вашия HTML/CSS/JS е много лесно, когато използвате CEWP, и много трудно и опасно, когато използвате редактор на скриптове.

Това е процесът за актуализиране на вашия код, когато използвате редактор на скриптове:

  1. Отидете до вашата страница
  2. Щракнете върху Редактиране
  3. Изчакайте страницата да се презареди в режим на редактиране
  4. Щракнете върху Редактиране на фрагмент във вашия редактор на скриптове (забележка: Това е опасно, ако имате css/js, който може да попречи на редактора на скриптове или инструментите за редактиране, може да се наложи да влезете в редактора на фрагменти или изтрийте и създайте отново редактора на скриптове с нов код)
  5. Изчакайте редакторът на фрагменти да се покаже (забележка: В зависимост от сложността на вашия код, редакторът на фрагменти може да не покаже правилно визуализацията на фрагмента или може изцяло да повреди редактора на фрагменти)
  6. Превъртете през редактора на фрагменти и направете вашите модификации или презапишете фрагмента с вашия модифициран код
  7. Щракнете върху OK в редактора на фрагменти (забележка: Вашите промени може или не могат да бъдат лесно видими, докато не бъдат регистрирани)
  8. Проверете промените
  9. Публикувайте промените

Това е процесът за актуализиране на вашия код с помощта на CEWP:

  1. Отидете до библиотеката с документи, където сте запазили кодовия файл
  2. Щракнете върху качване на съществуващ файл
  3. Качете своя кодов файл, който съдържа вашите модификации

В този процес няма преувеличение. Виждате, че това е кошмар за поддръжка. Какво ще направите, ако добавите грешен JS чрез редактор на скриптове, който поврежда вашата страница? Най-лошият случай: може да се наложи да изтриете страницата си и да я създадете отново. Ако работите с CEWP, имате достъп до кода си извън страницата — ако качите грешен JS, можете просто да го поправите във вашата IDE и да го качите отново.

Подвеждащи статии и публикации

http://summit7systems.com/dont-script-in-the-wrong-web-part/

Уеб частта за редактор на съдържание все още изглежда работи добре за HTML или XHTML. Въпреки това, ако се опитате да добавите JavaScript към вашата страница с помощта на уеб частта за редактор на съдържание в SharePoint 2013, записите в маркера на скрипта ще бъдат премахнати. В SharePoint 2013/Office 365 всеки скрипт трябва да бъде въведен в уеб частта на редактора на скриптове.

https://social.msdn.microsoft.com/forums/sharepoint/en-US/dc299877-ac9e-4493-bf85-801faf0ec1d3/content-editor-webpart-losing-its-javascript

SharePoint премахва целия скрипт от уеб частта на редактора на съдържание. Вместо това използвайте уеб частта за редактор на скриптове.

SharePoint 2013 премахва записите в етикета на скрипта в уеб частта за редактор на съдържание. В SharePoint 2013 всички подробности за скрипта трябва да бъдат въведени в уеб частта на редактора на скриптове.

Къде се объркаха тези статии?

Дезинформацията произтича от факта, че има повече от един начин за добавяне на HTML/CSS/JS в CEWP. Например има начин за вградено съдържание, където можете да вмъкнете код директно в областта „Съдържание“ на уеб частта и има начин за връзка към съдържание. Вярно е, че изглежда има проблеми, ако добавите маркери на скрипт във вградената област за съдържание на CEWP, но никога не трябва да правите това.

Дори ако имате само няколко реда код, би трябвало да е най-добра практика да поддържате този код в отделен файл и да използвате Content Link, за да го вградите. Наличието на целия ви код в едно хранилище, вместо да бъде разпръснат в потенциално много страници, ще улесни поддръжката.