|
| Дата |
|
USD/RUB | 89.7619 | BTC/USD | 40711.3525 |
|
|
|
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии. |
18.11.2008, 01:12
|
#1
|
Member
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
|
Нужен скриптик
по сабжу
задача №1: после попадания серфера на страницу, выполнить рефреш страницы через заданный промежуток времени, после чего в момент следующего рефреша, если серфер до этого не закрыл страницу, произвести ее самозакрытие.
задача №2: вышеописанный скрипт расположен на домене1. Домен1 подгружается во фрейме домена2. Т.о. в такой ситуации должна быть закрыта страница домена2, которая открыта в браузере.
оба домена контролируемы, тобеж пренадлежат мне, соответственно могу внести изменения в код на обоих.
насколько реализуемы данные задачи? и если кто сможет помочь, желательно знающие люди, отпишитесь в личку плиз с указанием примерной разумной цены.
Должно работать во всех броузерах!
|
|
|
18.11.2008, 14:03
|
#2
|
Бабло победит зло
Регистрация: 20.06.2008
Сообщений: 2,579
Бабло: $346045
|
1. FireFox 3.x ложит на команды windows.close() ...
|
|
|
18.11.2008, 14:09
|
#3
|
Member
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
|
ТС
Цитата:
Сообщение от jacksoft
1. Firefox 3.x ложит на команды Windows.close() ...
|
в принципе можно пожертвовать им
не хотелось бы конечно...
ну тогда главный ориентир - ИЕ, все таки он пока превалирует
|
|
|
18.11.2008, 15:00
|
#4
|
Member
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
|
ТС
в связи с невозвожностью выполнить самопроизвольное закрытие страницы в браузере, переиначу задание следующим образом:
вместо закрытия страницы прозвести редирект ее на указанный урл
тобеж вся схема для задач 1 и 2, описанная выше, сохраняется, только теперь вместо закрытия окна броузера произвести редирект.
это реально?
|
|
|
18.11.2008, 15:56
|
#5
|
Ебланнед
Регистрация: 11.07.2007
Сообщений: 940
Бабло: $13620
|
Цитата:
<script type="text/javascript"><!--
var refresh_after = 10; // в секундах
var was_refreshed_js = false;
var url = "http://www.google.com"; // тут ставишь урл редиректа
setTimeout( "doRefresh();", refresh_after*1000 );
function doRefresh()
{
if( !was_refreshed_js )
{
was_refreshed_js = true;
window.location.reload(true);
}
else
{
window.open( url );
}
}
//--></script>
|
так по идее
|
|
|
18.11.2008, 16:46
|
#6
|
Member
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
|
ТС
Цитата:
Сообщение от mp3skyline
так по идее
|
чет не получается редирект на указанный урл
смотри, мне нужно
зашел серфер на страницу, начался отсчет времени, время вышло произошел рефреш текущей страницы (по типу <meta http-equiv="refresh" content="600; URL=/page-keyword/" /> ), пошел опять отсчет, подошло время и произошел редирект на указанный урл.
получается интервал времени скажем - 600 секунд
всего рефреша - 1, на второй - идет редирект
|
|
|
18.11.2008, 16:57
|
#7
|
Ебланнед
Регистрация: 11.07.2007
Сообщений: 940
Бабло: $13620
|
Цитата:
Сообщение от vcarlsonn
чет не получается редирект на указанный урл
смотри, мне нужно
зашел серфер на страницу, начался отсчет времени, время вышло произошел рефреш текущей страницы (по типу <meta http-equiv="refresh" content="600; URL=/page-keyword/" /> ), пошел опять отсчет, подошло время и произошел редирект на указанный урл.
получается интервал времени скажем - 600 секунд
всего рефреша - 1, на второй - идет редирект
|
угу, провтыкал. попробуй так:
PHP код:
<script type="text/javascript"><!--
function setCookie(name, value, expires, path, domain, secure)
{
document.cookie= name + "=" + escape(value) +
((expires) ? "; expires=" + expires.toGMTString() : "") +
((path) ? "; path=" + path : "") +
((domain) ? "; domain=" + domain : "") +
((secure) ? "; secure" : "");
}
function getCookie(name)
{
var dc = document.cookie;
var prefix = name + "=";
var begin = dc.indexOf("; " + prefix);
if (begin == -1)
{
begin = dc.indexOf(prefix);
if (begin != 0) return null;
}
else
{
begin += 2;
}
var end = document.cookie.indexOf(";", begin);
if (end == -1)
{
end = dc.length;
}
return unescape(dc.substring(begin + prefix.length, end));
}
var refresh_after = 10; // в секундах
var was_refreshed_js = getCookie("refreshed");
var url = "http://www.google.com"; // тут ставишь урл редиректа
setTimeout( "doRefresh();", refresh_after*1000 );
function doRefresh()
{
if( !was_refreshed_js )
{
setCookie("refreshed","1");
window.location.reload(true);
}
else
{
window.open( url );
}
}
//--></script>
|
|
|
18.11.2008, 17:21
|
#8
|
Member
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
|
ТС
Цитата:
Сообщение от mp3skyline
угу, провтыкал. попробуй так:
PHP код:
<script Type="text/javascript"><!--
Function Setcookie(name, Value, Expires, Path, Domain, Secure)
{
Document.cookie= Name + "=" + Escape(value) +
((expires) ? "; Expires=" + Expires.togmtstring() : "") +
((path) ? "; Path=" + Path : "") +
((domain) ? "; Domain=" + Domain : "") +
((secure) ? "; Secure" : "");
}
Function Getcookie(name)
{
Var Dc = Document.cookie;
Var Prefix = Name + "=";
Var Begin = Dc.indexof("; " + Prefix);
If (begin == -1)
{
Begin = Dc.indexof(prefix);
If (begin != 0) Return Null;
}
Else
{
Begin += 2;
}
Var End = Document.cookie.indexof(";", Begin);
If (end == -1)
{
End = Dc.length;
}
Return Unescape(dc.substring(begin + Prefix.length, End));
}
Var Refresh_after = 10; // в секундах
Var Was_refreshed_js = Getcookie("refreshed");
Var Url = "http://www.google.com"; // тут ставишь урл редиректа
Settimeout( "dorefresh();", Refresh_after*1000 );
Function Dorefresh()
{
If( !was_refreshed_js )
{
Setcookie("refreshed","1");
Window.location.reload(true);
}
Else
{
Window.open( Url );
}
}
//--></script>
|
практически то, что я хотел
за одним исключением, страница так и остается открытой, а вот урл редиректа открывается в новом окне
а должно быть все в одном)
Последний раз редактировалось vcarlsonn; 18.11.2008 в 17:22.
Причина: редакция
|
|
|
18.11.2008, 17:59
|
#9
|
Ебланнед
Регистрация: 11.07.2007
Сообщений: 940
Бабло: $13620
|
Цитата:
Сообщение от vcarlsonn
практически то, что я хотел
за одним исключением, страница так и остается открытой, а вот урл редиректа открывается в новом окне
а должно быть все в одном)
|
window.open( url );
замени на
window.open( url, "self" );
кажется 
в общем это всё тут рулится. я не тестил этот скрипт вообще)
|
|
|
18.11.2008, 18:11
|
#10
|
Member
Регистрация: 09.01.2008
Сообщений: 74
Бабло: $7354
ТС -->
|
ТС
Цитата:
Сообщение от mp3skyline
window.open( url );
замени на
window.open( url, "self" );
кажется 
в общем это всё тут рулится. я не тестил этот скрипт вообще)
|
не, все равно новое окно открывает
а можно ли как-нибудь встроить в конструкцию
Код:
parent.location.href="УРЛ";
я думаю, это как раз решит обе мои задачи, по идее эта конструкция убивает фрейм и редиректит на нужный урл
тока все это должно быть в одной странице
п.с.: а вообще, огромное спасибо за то, что помогаешь, я в долгу не останусь!!
|
|
|
Опции темы |
|
Опции просмотра |
Линейный вид
|
|