Джаваскрипт в топиках [РЕШЕНО]
Навеяно постом!
И так, есть необходимость в некоторые топики вставлять js. Разрешать js через Jevix — не логично (во избежания xss/напихания рекламных js).
Подключать в файлах шаблона — некатит, так как в каждый топик разный js совать нужно.
Выслушаю все идеи и предложения!
UPD 2012.04.22
beauty_free предложил два варианта.
1. Все довольно просто, если менять файлы движка то нужно изменить файл livestreet/classes/actions/ActionTopic.class.php строка примерно 301
на
2. Либо как вариант изменить метод Parser в модуле Text
на
Второй вариант более правильный так как оставляет другие парсеры такие как подсветка кода, вставка видео.
И так, есть необходимость в некоторые топики вставлять js. Разрешать js через Jevix — не логично (во избежания xss/напихания рекламных js).
Подключать в файлах шаблона — некатит, так как в каждый топик разный js совать нужно.
Выслушаю все идеи и предложения!
UPD 2012.04.22
beauty_free предложил два варианта.
1. Все довольно просто, если менять файлы движка то нужно изменить файл livestreet/classes/actions/ActionTopic.class.php строка примерно 301
$oTopic->setText($this->Text_Parser($sTextNew));
$oTopic->setTextShort($this->Text_Parser($sTextShort));на
if($this->oUserCurrent->isAdministrator()) {
$oTopic->setText($sTextNew);
$oTopic->setTextShort($sTextShort);
} else {
$oTopic->setText($this->Text_Parser($sTextNew));
$oTopic->setTextShort($this->Text_Parser($sTextShort));
}2. Либо как вариант изменить метод Parser в модуле Text
public function Parser($sText) {
$sResult=$this->FlashParamParser($sText);
$sResult=$this->JevixParser($sResult);
$sResult=$this->VideoParser($sResult);
$sResult=$this->CodeSourceParser($sResult);
return $sResult;
}на
public function Parser($sText) {
$sResult=$this->FlashParamParser($sText);
if(!$this->User_GetUserCurrent()->isAdministrator()) {
$sResult=$this->JevixParser($sResult);
}
$sResult=$this->VideoParser($sResult);
$sResult=$this->CodeSourceParser($sResult);
return $sResult;
}Второй вариант более правильный так как оставляет другие парсеры такие как подсветка кода, вставка видео.
Добавление JS, в топики
Доброго времени суток. Собственно сабж, нужно в топики добавить JS код (плеер проигрывающий видос), добавить сие невозможно, ибо jevix обрабатывает скрипты. Что-бы придумать незнаю, дабы обезопасить сайт от вставки эксплойта в комменты, но вставить код как-то надо. Пробовал в jevix воткнуть
Код все равно обрабатывается, хз что не так делаю. Прошу помощи, заранее благодарен.
array(
'script',
array('type', 'src', 'text', 'javascript')
),
Код все равно обрабатывается, хз что не так делаю. Прошу помощи, заранее благодарен.
Проблема с javascript-маркерами в FireFox
Заметил лажу в лисе. Ест маркеры. Даже строчные типа:
=(
Какая-тоумная стремная минимизация яваскрипта появилась.
В консоли фаербага пишу:
Наглость мля =((( надо думать, что делать с маркерами, а то инъекции не выполняются.
Ковальски, варианты!
function (){
...
'*marker1*';
...
}=(
Какая-то
В консоли фаербага пишу:
>>> window.trololo=function(){/*bebe*/; alert(1); '*bebe2*'; };
function()
>>> window.trololo.toString();
"function () { alert(1); }"Наглость мля =((( надо думать, что делать с маркерами, а то инъекции не выполняются.
Ковальски, варианты!
- 0
- 20 апреля 2012, 15:22
- 1d10t
- Оставить комментарий
Кеширование и склейка css/js
4
Как заставить ls чтобы он склеивал файлы css/js от плагинов в один общий?
В кинфиге стоит
В связи с чем не происходит слияние в один файл?
И почему при сжатии ксс плывет верстка?
В кинфиге стоит
$config['compress']['css']['merge'] = true;но всеровно в коде сайта отбражается
$config['compress']['css']['use'] = false;
$config['compress']['js']['merge'] = true;
$config['compress']['js']['use'] = true;
<link rel="stylesheet" type="text/css" href="http://localhost/plugins/popupinfo/templates/skin/default/css/style.css?UPD=1.1" />
<script type="text/javascript" src="http://localhost/plugins/popupinfo/templates/skin/default/js/init.js"></script>В связи с чем не происходит слияние в один файл?
И почему при сжатии ксс плывет верстка?
Очередной вопрос про перенос css и js файлов на другой поддомен.
4
Прошу сразу сильно не пинать и не минусовать, пожалуйста.
Есть:
blogs.example.ru — сам сайт.
Задача:
Сделать так, чтобы css файлы загружались с домена например css-blogs.example.ru
Сдедать так, чтобы js файлы загружались с домена js-blogs.example.ru (Или пофиг, можно даже с тогоже css-blogs.example.ru)
Читать дальше
Есть:
blogs.example.ru — сам сайт.
Задача:
Сделать так, чтобы css файлы загружались с домена например css-blogs.example.ru
Сдедать так, чтобы js файлы загружались с домена js-blogs.example.ru (Или пофиг, можно даже с тогоже css-blogs.example.ru)
Читать дальше
Как подключить генерированный скрипт через AppendScript?
Например в теле шаблона имеется скрипт с элементами Smarty, например:
Хотелось бы его приобщить к массиву скриптов и сжать в один файл со всеми.
Можно было бы сгенерировать данный скрипт отдельным файлом через Fetch (как это делается в ajax запросах), но
метод AppendScript() во Viewer работает только с путями к скриптам. Как передать туда само тело скрипта или есть какая-то другая возможность?
var DIR_WEB_ROOT='{cfg name="path.root.web"}';
var DIR_STATIC_SKIN='{cfg name="path.static.skin"}';
var BLOG_USE_TINYMCE='{cfg name="view.tinymce"}';
var TALK_RELOAD_PERIOD='{cfg name="module.talk.period"}';
var TALK_RELOAD_REQUEST='{cfg name="module.talk.request"}';
var TALK_RELOAD_MAX_ERRORS='{cfg name="module.talk.max_errors"}';
var LIVESTREET_SECURITY_KEY = '{$LIVESTREET_SECURITY_KEY}';
var TINYMCE_LANG='en';
{if $oConfig->GetValue('lang.current')=='russian'}
TINYMCE_LANG='ru';
{/if}
var aRouter=new Array();
{foreach from=$aRouter key=sPage item=sPath}
aRouter['{$sPage}']='{$sPath}';
{/foreach}
Хотелось бы его приобщить к массиву скриптов и сжать в один файл со всеми.
Можно было бы сгенерировать данный скрипт отдельным файлом через Fetch (как это делается в ajax запросах), но
метод AppendScript() во Viewer работает только с путями к скриптам. Как передать туда само тело скрипта или есть какая-то другая возможность?
Несовместимость эффектов jquery с файлами .js от LiveStreet
Появилась необходимость подключить таб-эффект от jquery. Когда всё настроил и подключил библиотеки:
Эффект заработал как нужно, но на сайте перестали работать родные .js эффекты, такие как переключение в прямом эфире между комментариями и топиками, развертыванием формы добавления комментария и т.д. Когда отключаю эти библиотеки всё начинает работать.
Вопрос. Как подружить новые библиотеки jquery с родными .js файлами LiveStreet?
<script type="text/javascript" src="js/jquery-1.5.1.min.js"></script>
<script type="text/javascript" src="js/jquery-ui-1.8.13.custom.min.js"></script>Эффект заработал как нужно, но на сайте перестали работать родные .js эффекты, такие как переключение в прямом эфире между комментариями и топиками, развертыванием формы добавления комментария и т.д. Когда отключаю эти библиотеки всё начинает работать.
Вопрос. Как подружить новые библиотеки jquery с родными .js файлами LiveStreet?
- -1
- 01 июля 2011, 16:13
- Fortunato2011
- 14
После переезда перестала работать часть js
Всем привет. Попытался найти всю инфу сам, но не получается.
Суть проблему. После переезда на VDS хостинг перестали работать частично библиотеки js
В частности не работает:
— Добавление картинок (не открывается окно)
— вставка тегов разметки, просто перекидывает вверх страницы
— Блок прямой эфир не переходит между вкладками «публикации/комментарии»
— установлен модуль превью картинок — они перестали плавно увеличиваться, открываются в новой вкладке
и тд.
Для интересующих файлов почему-то стал не правильно формироваться путь. например site.rubiblioteka.js
Вот и что с этим делать? ((
UPD: Вопрос решил радикально, переустановив движок
Суть проблему. После переезда на VDS хостинг перестали работать частично библиотеки js
В частности не работает:
— Добавление картинок (не открывается окно)
— вставка тегов разметки, просто перекидывает вверх страницы
— Блок прямой эфир не переходит между вкладками «публикации/комментарии»
— установлен модуль превью картинок — они перестали плавно увеличиваться, открываются в новой вкладке
и тд.
Для интересующих файлов почему-то стал не правильно формироваться путь. например site.rubiblioteka.js
Вот и что с этим делать? ((
UPD: Вопрос решил радикально, переустановив движок
Подключить кастомный js c удаленного сервера для одиночной страницы ( static page )
как это лучше сделать?
если затолкать адрес в config.php в $config['head']['default']['js'], то ничего не происходит
если это имеет значение, то речь идет об апи яндекс карт
на выходе я хочу, чтобы блок со скриптами в конечном html выглядел так:
если затолкать адрес в config.php в $config['head']['default']['js'], то ничего не происходит
если это имеет значение, то речь идет об апи яндекс карт
«h t t p ://api-maps.yandex.ru/1.1/index.xml?key=xxxYYYxxx»
на выходе я хочу, чтобы блок со скриптами в конечном html выглядел так:
< s_c r i p t s r c=«h_t t p ://api-maps.yandex.ru/1.1/index.xml?key=xxxYYYxxx» type=«text/javascript»>< s_c r i p t s r c=«h_t t p ://www.mysite.ru/templates/cache/themename/xxxzzzxxx.js» type=«text/javascript»>