Скрипт наподобие того же, что стоит здесь. При переходе на другие сайты вылезает страничка с подтверждением о переходе.
Установка:
1. Создайте файл с именем away.htm со следующим содержимым и залейте в ФМ:
Код
<html> <head> <meta http-equiv="content-type" content="text/html; "> <title>Переход по внешней ссылке</title> <script type="text/javascript"> <!-- var domain = self.location.host; var url = self.location.search; url = url.substring(1, url.length); function go() { location.replace(url); //--> } </script> </head> <body bgcolor="white" style="padding: 20px 180px; font-size: 12px; font-family: Tahoma; line-height: 200%;"> <h2>Переход по внешней ссылке</h2> Вы покидаете сайт <b>diz-cs.ru</b> и переходите по внешней ссылке <script type="text/javascript">document.write('<b>'+ url +'</b>')</script>. Администрация <b>diz-cs.ru</b> не несет ответственности за содержимое сайта <script type="text/javascript">document.write('<b>'+ url +'</b>')</script> и настоятельно рекомендует <b>не указывать</b> никаких своих данных, имеющих отношение к <b>diz-cs.ru</b> (особенно <b>nickname</b>, <b>пароль</b> и <b>cookies</b>), на сторонних сайтах. <br><br> Кроме того, сайт <script type="text/javascript">document.write('<b>'+ url +'</b>')</script> может содержать вирусы, трояны и другие вредоносные программы, опасные для Вашего компьютера. Если у Вас нет серьезных оснований доверять этому сайту, лучше всего на него не переходить, даже если Вы якобы получили эту ссылку от одного из Ваших друзей. <br><br> Если Вы еще не передумали, нажмите на <script type="text/javascript">document.write('<a href="javascript://" onClick="go()">'+ url +'</a>')</script>.<br> Если Вы не хотите рисковать безопасностью Вашего аккаунта и компьютера, <b>нажмите <a href="javascript:window.close()">отмена</a></b>. </body> </html>
2. На нужных страницах сайта вставляем после <body>:
Код
<script type="text/javascript"> $(document).ready(function(){ var sh; var ls; sh=document.location.host; //alert (sh); ls=document.getElementsByTagName('a'); for (i=0; i<ls.length;i++) { if((ls[i].host!=sh)&&(ls[i].host!='ucoz.ru')&&(ls[i].host!='www.ucoz.ru')&&(ls[i].protocol!='javascript:')) ls[i].href='http://'+sh+'/away.htm?'+ls[i].href; }}); </script>
Как известно, uCoz постоянно меняет свою рекламу на сайтах в системе. И в этот раз продемонстрировал наглость и истинную натуру (исключительно моё мнение, но вот беда - оно такое же у многих). Теперь переход по коротким ссылкам u.to идёт через страницу-прокладку с таймером (и с установленной рекламой на ней - а как иначе быть, когда ваш сайт на uCoz), а не как было ранее - просто перенаправление на полную ссылку (у кого перестали выводиться титулы по коротким ссылкам - это тоже результат обновления).
По крайней мере, так происходит на сайтах, которые не оплачивают пакеты (отключение рекламы). А должны платить еще и за это? Вот и я считаю, что не должны. Никто не предупреждал, что функция сокращения ссылок начнет работать подобным родом (настраивается в ПУ) - это очередная жадность конструктора uCoz, не более того. Расчёт был на то, что кто пользовался этим функционалом - это очередная возможность "поиметь профит" с сайтов пользователей. Ведь не каждый станет выкачивать базу сайта и после все ссылки через u.to менять (а функционал в ПУ не даёт возможности избавиться от всех ссылок таких, они остаются записанными в постах). То же касается и функционала проксирования через /go? - кто его отключил спустя, то все ранее оставленные ссылки подобного рода перестают работать, соответственно при нажатии на них выводиться системная страница, что доступ запрещен. И u.to в этом плане тоже не всегда срабатывает, бывает нажимаешь на какую-то ссылку еще в 2010 году сделанную, а после переход не происходит.
Так вот, к чему я всё это пишу здесь, спросите вы. Всё просто на самом деле. Можно исправить ссылки подобные выкачав базу сайта, а можно прописать решение через скрипт (собственно, что я и сделал). Вот посидел и такое написал для этого сайта:
Код
<?if($PAGE_ID$='threadpage' || $PAGE_ID$='usermess' || $PAGE_ID$='recentposts')?><?if($USER_LOGGED_IN$)?><!--Убираем перенаправление u.to--><script type="text/javascript">$(document).ready(function(){$('.ds-forum-vid-mess a[href^="http://u.to"].link').each(function(){var uto_h=$(this).attr("href"),uto_t=$(this).attr("title");$(this).attr("href",'/go?'+uto_t),$(this).attr("title",'Без перехода на '+uto_h)})})</script><!--/Убираем перенаправление u.to--><?endif?><?endif?>
Ставиться после $BODY$ в шаблон "Общий вид страниц форума".
Механизм работы прост - все ссылки через u.to оставленные меняет на ссылки, которые берет из их заглавия (именно там хранятся полные ссылки, по ним зачастую и можно зайти, когда короткие ссылки попросту не работают). Ясное дело, что писалось под этот сайт, у вас привязка будет идти к другому классу (.ds-forum-vid-mess - это для нашего текущего вида материалов форума, для сайтов со стандартными шаблонами системы - .posttdMessage или .ucoz-forum-post). Скрипт прописал под условный оператор только для авторизированных (для страховки, так и чтобы не обрабатывалось в кеш поисковикам). Для ссылок новых, что идут через протокол https:// - нужно писать a[href*="u.to"]. Как и для сайта с включенным проксированием (у кого работают ссылки через /go?), если оно у вас не работает, то можете воспользоваться текущим материалом - сделать свою страницу-прокладку взамен системной.
В качестве примера ссылка, а вот без обработки скриптом https://u.to/tRDmFA [!] К выше мной написанному: у кого отключено проксирование (ссылки вида /go? не работают), то есть повод воспользоваться еще следующим вариантом. В качестве страницы-прокладки создается файл out.htm, и после все внешние ссылки пишутся через /out.htm?далее-идёт-ссылка (по аналогии с проксированием через /go?).UPD.:
Наличие оплаченного тарифа - не влияет на отсутствие страницы-прокладки, что отдают u.to, проверено! В старых сообщениях такое наблюдается (идёт привязка к дате создания короткой ссылки, как понял), а в новых - идёт сразу через Redirecting (Перенаправление) [!] P.S.: вот пример короткой ссылки выше и не был удачным - ибо без страницы-прокладки; если старые посты посмотреть - есть прокладка (но её уже пофиксили выше представленным скриптом). Пользоваться или нет - решать вам, я же со своей стороны дал решение.
Также вот такой вариант кода (исправлены некоторые нюансы, когда ссылка формируется не автоматически, а делается сразу постинг короткой ссылки):
Код
<?if($PAGE_ID$='threadpage' || $PAGE_ID$='usermess' || $PAGE_ID$='recentposts')?><?if($USER_LOGGED_IN$)?><!--Убираем перенаправление u.to--><script type="text/javascript">$(document).ready(function(){$('.ucoz-forum-post a[href*="//u.to"].link').each(function(){if($(this).attr("title")){var uto_h=$(this).attr("href"),uto_t=$(this).attr("title");uto_t!==uto_h&&($(this).attr("href","/go?"+uto_t),$(this).attr("title","Без перехода на "+uto_h))}})})</script><!--/Убираем перенаправление u.to--><?endif?><?endif?>