#javascript #php #html #tinymce
#javascript #php #HTML #tinymce
Вопрос:
Я запускаю TinyMCE на своем сайте и пытаюсь вставить теги скрипта. Я пытаюсь вставить теги моего скрипта в тело исходного кода экземпляра TinyMCE.
Однако, когда я это делаю, у меня возникают проблемы. Когда я отправляю форму, содержащую элемент TinyMCE, теги удаляются.
Я пробовал следующие строки ниже, но по-прежнему безуспешно.
allow_script_urls: true
valid_elements : '*[*]'
extended_valid_elements: 'script[language|type]'
Однако я заметил одну вещь: если мне нужно опубликовать код скрипта в разделе исходного кода экземпляра tinymce, и это сработает. Однако мне нужно иметь возможность добавить его в <body>
экземпляра tinymce, чтобы я мог видеть его предварительные просмотры и т.д.
Ниже приведен тег скрипта, который я пытаюсь загрузить.
<script type="text/javascript" src="http://resources.32red.com/ad.aspx?pid=237638amp;bid=3344"></script>
Кто-нибудь может пролить свет на это?
Спасибо
Ответ №1:
Попробуйте следующее:
extended_valid_elements: 'script[language|type|src]'
Я вижу, что вы уже пытались обновить extended_valid_elements
свойство с помощью
'script[language|type]'
но вы забыли разрешить атрибут src для тегов скрипта
итак, прямо сейчас src
атрибут удаляется.
Комментарии:
1. У меня такая же проблема, и, к сожалению, даже когда я добавил,
script[language|type|src]
он все еще продолжал удалятьsrc
. В TinyMCE 3.5.11. Пока не нашел исправления, за исключением обновления до версии 4, что требует некоторых усилий.2. Я продолжал удалять плагины TinyMCE, пока не нашел виновника —
jwplayer
плагин, который я использовал, по какой-то причине удалял<script src="...">
.3.
extended_valid_elements : "script[src|async|defer|type|charset]"
Ответ №2:
Похоже, существует ошибка, из-за которой, если тег скрипта заключен в div, TinyMCE сбрасывает скрипт. (даже если вы правильно установили extended_valid_elements) Использование TinyMCE может быть очень неприятным
Комментарии:
1. Я только сегодня в этом убедился. Неудачно. Но рад видеть, что кто-то еще признал это.
2. Грр. Это раздражает. Я думаю, что я тоже сталкиваюсь с этим. Интересно, было ли это исправлено в определенной версии.
Ответ №3:
Для решения проблемы я поместил блок скрипта внутрь тега <code>
tag.
<code>
<script>alert("abc");</script>
</code>
Ответ №4:
В итоге я использовал этот метод, скрывающий от tinymce все внутренние теги скрипта
protect: [/<script>[sS]*?</script>/g]
проверьте https://regex101.com/r/cH35d9/1 для регулярного выражения:
s
— все пространство
S
— все не пробел
*?
— повторите для первого из </script>
и это многоуровнево, потому что группа [] * игнорирует границы новой строки
Поддерживает tinymce5, tinymce6 — https://www.tiny.cloud/docs/tinymce/6/content-filtering/#protect