Переобработка скриптов
Пытаюсь написать адекватный хайд для сайтов, у которых на вооружении только javascript. Сейчас делаю под ucoz.
Я сделал предварительное шифрование текста (при добавлении). В итоге я получаю код вида: Код:
[hide]%064%073%061%064[/hide] Вытащил с другого метода хайда код: <script type="text/javascript"> $('.posttdMessage').each(function () { Tmp = jQuery(this).html(); jQuery(this).html(Tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig, '<span class="NeededPoints" style="display: none; ">$1</span><div class="HiddenBlock">$2</div>')); }); <?if($USER_LOGGED_IN$)?>$.get('/index/8', {}, function (Res) { var MyActivities = eval($('#UserActivities', Res).html()); $('.HiddenBlock').each(function (l) { if (parseInt($('.NeededPoints:eq(' + l + ')').html()) <= MyActivities) { jQuery(this).show(); } else { jQuery(this).html('Необходимо <b>' + $('.NeededPoints:eq(' + l + ')').html() + '</b> сообщений для просмотра.').show(); } }); });<?else?> $('.HiddenBlock').each(function (l) { jQuery(this).html('Скрытый текст. Для просмотра необходимо зарегистрироваться и набрать <b>' + $('.NeededPoints:eq(' + l + ')').html() + '</b> сообщений.').show(); }); <?endif?> </script> Он заменяет на странице [hide...[/hide] на соответствующий текст. Оно мне идеально подходит, если модифицировать код следующим образом: Исходная строка: jQuery(this).html(Tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig, '<span class="NeededPoints" style="display: none; ">$1</span><div class="HiddenBlock">$2</div>')); Результат: jQuery(this).html(Tmp.replace(/\[hide\=([^\[]+)]([^\[]+)\[\/hide]/ig, '<span class="NeededPoints" style="display: none; ">$1</span><div class="HiddenBlock">'+'<sc'+'ript type="text/javascript">'+'document.write(unescape(text_unmod($2,$1)));'+'</scr'+'ipt>'+'</div>')); Это должно помочь расшифровать хайд для нужных людей. Но, сталкиваюсь с проблемой! После замены не выполняются скрипты! Возможно, это из-за того, что сценарий обработки уже ушел ниже, чем находятся эти хайды. Можно как-то запустить переобработку страницы с модифицированным кодом? Или посоветуйте альтернативу этому методу. |
Часовой пояс GMT +3, время: 11:02. |