Как мне избежать /inline/cheat, чтобы обойти фильтрацию тегов <style> в XWiki?
Я использую экземпляр XWiki, который отфильтровывает <style>
теги, что означает следующее:
<style>
p { color: red; }
</style>
<p>Foo</p>
Будет иметь <style>
тег полностью удаляется при рендеринге, в результате просто:
<p>Foo</p>
Я могу делать встроенные стили, используя следующий синтаксис:
(% style="color: red;" %)
<p>Foo</p>
Но мои проблемы возникают, когда я пытаюсь использовать ключевые кадры анимации. Я знаю, что они могут быть сделаны внутри тега стиля:
<style>
@keyframes stomp {
0% { transform: translate(1px, 1px) rotate(0deg); }
50% { transform: translate(-1px, 2px) rotate(1deg); }
100% { transform: translate(1px, -2px) rotate(-1deg); }
}
</style>
Но я не знаю, как это сделать, так как <style>
тег будет удален XWiki.
Мой вопрос: как мне тоже...
- встроить ключевые кадры в стиль элемента (я не верю, что это можно сделать, но этот вопрос довольно старый)?
- запутывать
<style>
пометить, чтобы не раздеться?
1 ответ
Тег стиля не должен входить в тело HTML (по крайней мере, в HTML4). Весь HTML, который вы вставляете в макрос {{html}} в содержимом вики-страницы, попадает в тело HTML. Вот почему HTML Cleaner может фильтровать / удалять ваш контент.
Вы должны проверить и понять, как правильно добавлять JavaScript и CSS на свои вики-страницы в XWiki через JavaScriptExtensions или StyleSheetExtensions. В целом, старайтесь избегать встраивания. Это считается плохой практикой и вряд ли оправдано на практике.
Если вам действительно нужен тег style внутри тела HTML, вы можете указать макросу {{html}} избегать автоматической очистки, используя параметр clean="false".
Пример:
{{html clean="false"}}
<style>
...
</style>
{{/html}}
Тем не менее, я рекомендую использовать вышеперечисленное только для целей тестирования и использовать надлежащие расширения JavaScript/Style для окончательной версии.