|
|
Модератор форума: Senator |
Форум сайта » Система uCoz » Другие скрипты » Решение проблемы ошибки 404 при входе из архива материалов |
Решение проблемы ошибки 404 при входе из архива материалов |
[Table]Вы наверное уже заметили,а может быть и нет,что при выполнении входа на любой сайт в системе Ucoz из архива новостей (или файлов,статей и т.д.) выскакивает страница ошибки 404 и сообщает ,что страница типа ла-ла-ла.ucoz.ru/news/2?YCgfU или ла-ла-ла.ucoz.ru/load/0-3?YCgfU (или чтото подобное) не Для того чтобы избежать этого и удержать пользователей на своём сайте я предлагаю вам следующий скрипт...Собственно два варианта,с таймером и без таймера редиректа.Пример работы скрипта вы можете увидеть на сайте автора. Скрипт без таймера. Особенности: И так,если у вас стандартная страница ошибки 404,то вам нужно загрузить свою (таких сотни готовых) чтобы была возможность редактирования Вот сам скрипт ,его ставим в вашей страницы ошибки 404 [/Table]Code <script type="text/javascript"> tmp=new Array(); tmp2=new Array(); param=new Array(); get=location.search; domain=document.referrer+'/'; domain=domain.substr(domain.indexOf('://')+3); domain=domain.substr(0,domain.indexOf('/')); if (get!='') { tmp=(get.substr(1)).split('&'); for(i=0;i<tmp.length;i++) { tmp2=tmp[i].split('='); param[tmp2[0]]=tmp2[1]; } } if (!(param["url"])) param["url"]=document.referrer; redir=false; function makeurl(system) { var url=param["url"]; } function redirect() { if (redir) location.href=redir; redir=false; } document.write('<a style="display:none" href="'+domain+'">'+domain+'</a>'); if ( domain == 'ВАШ ДОМЕН' ) { var ints = 1; function alertes () { document.getElementById('calc').innerHTML = ints; if ( ints == 0 ) { document.location.href = param["url"]; ints = '--'; } if ( ints > 0 ) { ints--; } }; function refresh(){ if(ints > 0) time_Interval = setInterval("alertes ()",1 ); }; refresh();} </script> [Table]где ВАШ ДОМЕН меняем на ваш домен типа ла-ла-ла.ucoz.ru без http:// [/Table] [Table]А это ставим в поле [/Table]Code <span style="display: none;" id="calc"> </span> [Table]Скрипт с таймером. Особенности: Вот сам скрипт ,его ставим в вашей страницы ошибки 404 [/Table]Code <script type="text/javascript"> tmp=new Array(); tmp2=new Array(); param=new Array(); get=location.search; domain=document.referrer; domain=domain.substr(domain.indexOf('://')+3); domain=domain.substr(0,domain.indexOf('/')); if (get!='') { tmp=(get.substr(1)).split('&'); for(i=0;i<tmp.length;i++) { tmp2=tmp[i].split('='); param[tmp2[0]]=tmp2[1]; } } if (!(param["url"])) param["url"]=document.referrer; redir=false; function makeurl(system) { var url=param["url"]; } function redirect() { if (redir) location.href=redir; redir=false; } document.write('<a style="display:none" href="'+domain+'">'+domain+'</a>'); if ( domain == 'ВАШ ДОМЕН' ) { var ints = 10; function alertes () { document.getElementById('calc').innerHTML = '<br><b><span style="color: #000000; font-size: 8pt;">Если эта страница всётаки существует,то Вы попадёте на неё через</span></b><b><span style="color: #ff0000; font-size: 13pt;"> '+ ints + ' </span></b><b><span style="color: #000000; font-size: 8pt;">секунд. В противном случае вы попадёте на предидущую страницу.</span></b>'; if ( ints == 0 ) { document.location.href = param["url"]; ints = '--'; } if ( ints > 0 ) { ints--; } }; function refresh(){ if(ints > 0) time_Interval = setInterval("alertes ()",1000 ); }; refresh();} </script> [Table] А это ставим в поле ,это собственно и есть сам таймер (по умотчанию значение отсчета выставлено 10 сек.),вставляете его куда вам захочется в дизайне вашей страницы ошибки 404 Время можете задать самостоятельно в скрипте в значении var ints = 10 (где 10 ,и есть заданное время) Вот впринципе и всё... Пртестировано на Firefox, Opera, Safari, Google Chrome Ссылка на файл 1 [/Table] |
| |||
| |||