WedX - журнал о программировании и компьютерных науках

TinyMce с использованием ASP.NET MVC 3 с Razor View Engine — загружается, но не отображается

У меня есть простая форма, использующая плагин TinyMce jQuery. Когда я загружаю страницу, TinyMce должен заменить мою текстовую область своим редактором, но этого не происходит. Глядя на сгенерированный html, моя текстовая область есть (видимость скрыта), но объект iFrame не был создан TinyMce. Объект TinyMce существует, но activeEditor имеет значение null. Как будто я его не инициализировал, но следую примерному коду следующим образом:

//здесь я загружаю скрипты

<script type="text/javascript" src="@Url.Content("~/Scripts/jquery.tinymce.js")"></script>
<script type="text/javascript" src="@Url.Content("~/Scripts/tiny_mce_jquery.js")"></script>

// вот моя текстовая область

<textarea id="tinymceId" name="content" class="tinymce" rows="1" cols="50" style="width:100%;" ></textarea>

//и вот код моего скрипта, где я его инициализирую

$(document).ready(function () {
    $('#tinymceId').tinymce({
       doctype: '<!DOCTYPE html>',
       editor_selector: "tinymce",
       convert_urls: false,
       mode: "textareas",
     });
});

  • Любые ошибки javascript? Избавьтесь от этой последней запятой после textareas. 26.09.2011
  • @ Джек, только IE‹9 будет ныть об этом, верно? :) 27.09.2011
  • Возможно, но правильный синтаксис никогда не может быть плохим. 27.09.2011
  • Извините - спасибо. Это было действительно хорошо в моем коде. Я удалил некоторые другие параметры, когда делал этот пост, чтобы упростить вещи, и забыл сначала удалить . Однако в моем фактическом коде он удален. Нет ошибок javascript - вроде все работает нормально, а потом ничего не появляется. 27.09.2011
  • У меня была аналогичная проблема; либо получал ошибку, либо редактор просто не появлялся. Выяснилось, что есть проблема с tinymce_jquery_full.cshtml. Когда пакет nuget установлен, jquery.tinymce.js устанавливается в ~/Scripts/tinymce/tiny_mce.js, но ссылка в tinymce_jquery_full.cshtml — это ~/Scripts/tinymce.3.4. .5/jquery.tinymce.js. Пришлось изменить это в нескольких местах и ​​настроить путь для content_css, и это оживает. Возможно, сейчас это неактуально, но внесенные мной изменения присутствуют на случай, если они кому-то еще помогут :-) 08.03.2012

Ответы:


1

Ну, самый известный способ быть крутым в наши дни — использовать Nuget.

Я написал несколько шаблонов частичного представления для TinyMCE. (Я также отправляю TinyMCE в ленту, когда она обновляется)

Следующая статья проведет вас через этот процесс:

Текстовый HTML-редактор TinyMCE и ASP.NET MVC — настройка с Nuget стала проще

26.09.2011
  • Работа с партиалами всегда удобна для таких ситуаций. 27.09.2011
  • Я пытаюсь использовать ваш образец кода, который я скачал с NuGet, и тоже не могу заставить его работать. Я только что создал новый проект, добавил в него пакет TinyMceJquerySample и внес изменения, описанные в вашей статье, и когда я запускаю его, когда я выполняю код конструктора tinymce, я получаю $(textarea.tinymce).tinymce не является функцией в последней строке конструктора -(media_external_list_url : lists/media_list.js). Единственное отклонение, которое я сделал, было в @Html.TextArea — я получил ошибку времени выполнения, говорящую, что имя не может быть пустой строкой, поэтому я дал ему имя tinymce. Любые идеи? 27.09.2011
  • @Laurel также есть образец пакета: TinyMCE.MVC.JQuery.Sample (nuget.org/List/Packages/TinyMCE.MVC.JQuery.Sample) установите его, и у вас будет хорошо работающий образец. Это должно дать вам идею. 27.09.2011
  • Я использую этот образец пакета, но, может быть, я сделал это неправильно? Я только что создал новый проект (веб-приложение MVC), установил этот пакет и пытаюсь заставить его работать с примером блога, который вы приводите в своей статье. Моя ссылка на ваше частичное представление в моем .cshtml выглядит следующим образом: @Html.Partial(tinymce_jquery_full). Именно с использованием этого образца я получил ошибку в своем предыдущем посте. 27.09.2011
  • Можете ли вы разместить свой пример проекта где-нибудь в облаке и дать мне ссылку? 27.09.2011
  • Только что увидел, что я делал неправильно - ваш пример кода теперь работает нормально. Это была слишком глупая ошибка, чтобы поделиться с вами :). Спасибо за ваши ответы и за то, что разместили это на NuGet! 28.09.2011
  • @Laurel, конечно, расскажи всем, чтобы каждый мог использовать этот замечательный пакет nuget :)) 28.09.2011

  • 2

    Есть ли разница, если вы закомментируете настройку editor_selector: "tinymce",?

    Еще одна вещь, которую следует упомянуть:

    Я не являюсь другом сборки jquery (tiny_mce_jquery.js/jquery.tinymce.js) по нескольким причинам (она медленная например...). Имеет ли смысл использовать вместо этого tiny_mce.js? Вы также можете загрузить на страницу обычный jquery.js — это эффективно и хорошо работает.

    27.09.2011
  • На самом деле нет никаких причин, по которым я не могу использовать tiny_mce.js вместо этого. Я начал пытаться заставить это работать, но столкнулся с проблемами, поэтому я перешел к плагину jQuery. Я не могу вспомнить проблему, которая у меня была с этим, но я вернусь и попробую еще раз. Теперь я знаю больше, чем когда впервые попробовал, так что, возможно, я смогу заставить это работать. Спасибо за ваш ответ! 27.09.2011
  • если у вас возникнут проблемы с использованием обычной сборки js - просто спросите 27.09.2011
  • Наконец-то я заработал. Я удалил все ссылки на jquery.tinymce.js и tiny_mce_jquery.js и просто использовал tiny_mce.js, как вы предложили, и все работает нормально. Большое спасибо!! 28.09.2011
  • Я рад, что это работает для вас сейчас. Если этот ответ полностью решил вашу проблему, я предлагаю вам принять этот ответ 28.09.2011
  • Новые материалы

    Как проанализировать работу вашего классификатора?
    Не всегда просто знать, какие показатели использовать С развитием глубокого обучения все больше и больше людей учатся обучать свой первый классификатор. Но как только вы закончите..

    Работа с цепями Маркова, часть 4 (Машинное обучение)
    Нелинейные цепи Маркова с агрегатором и их приложения (arXiv) Автор : Бар Лайт Аннотация: Изучаются свойства подкласса случайных процессов, называемых дискретными нелинейными цепями Маркова..

    Crazy Laravel Livewire упростил мне создание электронной коммерции (панель администратора и API) [Часть 3]
    Как вы сегодня, ребята? В этой части мы создадим CRUD для данных о продукте. Думаю, в этой части я не буду слишком много делиться теорией, но чаще буду делиться своим кодом. Потому что..

    Использование машинного обучения и Python для классификации 1000 сезонов новичков MLB Hitter
    Чему может научиться машина, глядя на сезоны новичков 1000 игроков MLB? Это то, что исследует это приложение. В этом процессе мы будем использовать неконтролируемое обучение, чтобы..

    Учебные заметки: создание моего первого пакета Node.js
    Это мои обучающие заметки, когда я научился создавать свой самый первый пакет Node.js, распространяемый через npm. Оглавление Глоссарий I. Новый пакет 1.1 советы по инициализации..

    Забудьте о Matplotlib: улучшите визуализацию данных с помощью умопомрачительных функций Seaborn!
    Примечание. Эта запись в блоге предполагает базовое знакомство с Python и концепциями анализа данных. Привет, энтузиасты данных! Добро пожаловать в мой блог, где я расскажу о невероятных..

    ИИ в аэрокосмической отрасли
    Каждый полет – это шаг вперед к великой мечте. Чтобы это происходило в их собственном темпе, необходима команда астронавтов для погони за космосом и команда технического обслуживания..


    Для любых предложений по сайту: [email protected]