У меня есть приложение, которое загружает статьи в формате html. Для некоторых статей у меня есть галерея изображений со слайдером в JQuery.
Я добавил JQuery и JS файлы слайдера в приложение, и они загружены, но слайдер все еще не работает.
HTML, полученный от служб REST:
<div id="gallery">
<div class="royalSlider">
<img src="xxx">
<img src="xxx">
<img src="xxx">
<img src="xxx">
</div>
</div>
<script type="text/javascript">
$(document).ready(function() {
$('#gallery .royalSlider').royalSlider({
autoScaleSlider: true,
imageScaleMode: 'fill',
...,
});
});
</script>
<div id="content">
<span id="header>This is the title</span>
<p>This is the content</p>
</div>
HTML просто добавляется в поле конфигурации HTML панели.
Любая идея, как заставить этот слайдер работать с ST2?
Я решил проблему, создав следующую функцию после загрузки и добавления содержимого HTML в панель:
executeJSScript: function(panel) {
var scripts = panel.renderElement.dom.getElementsByTagName("script");
for(var i=0; i < scripts.length; i++) {
eval(scripts[i].text);
}
}
Он получает все теги в dom панели и выполняет (каждую функцию) каждый скрипт.
Не очень элегантный, но он работает... Надеюсь, это может помочь кому-то, и если у вас есть лучшее решение, пожалуйста, поделитесь им!