нужен скриптик

12
vcarlsonn
На сайте с 08.01.2008
Offline
13
1142

по сабжу

задача №1: после попадания серфера на страницу, выполнить рефреш страницы через заданный промежуток времени, после чего в момент следующего рефреша, если серфер до этого не закрыл страницу, произвести ее самозакрытие.

задача №2: вышеописанный скрипт расположен на домене1. Домен1 подгружается во фрейме домена2. Т.о. в такой ситуации должна быть закрыта страница домена2, которая открыта в браузере серфера.

оба домена контролируемы, тобеж пренадлежат мне, соответственно могу внести изменения в код на обоих.

насколько реализуемы данные задачи? и если кто сможет помочь, желательно знающие люди, отпишитесь в личку плиз с указанием примерной разумной цены.

Должно работать во всех броузерах! (если возможно)

[Удален]
#1

Закрытие страницы блокируется в файрфоксе и опере, в IE 7 из за этого вообще краши бывают.

Закрыть можно только окна, которые были созданы самим же скриптом - попапы.

vcarlsonn
На сайте с 08.01.2008
Offline
13
#2

тогда переиначу задание следующим образом

вместо закрытия страницы прозвести редирект ее на указанный урл

тобеж вся схема для задач 1 и 2, описанная выше, сохраняется, только теперь вместо закрытия окна броузера произвести редирект.

это реально?

Alipapa
На сайте с 01.02.2008
Offline
234
#3

Это реально, но трудно за такой заказ браться. Ибо непросто выяснить желание заказчика, сделаешь - окажется не так, переделаешь - не совсем так и далее много раз. Лучше самому для себя делать.

Биржа фриланса - простая и удобная (http://kwork.ru/ref/2541)
C
На сайте с 20.09.2007
Offline
114
#4
задача №2: вышеописанный скрипт расположен на домене1. Домен1 подгружается во фрейме домена2. Т.о. в такой ситуации должна быть закрыта страница домена2, которая открыта в браузере серфера

Если правильно понял где что открыто и кто в каком фрейме: Просто разрушить фрейм

тогда переиначу задание следующим образом
вместо закрытия страницы прозвести редирект ее на указанный урл

<script>

var t = setTimeout(redirect, 10000);

function redirect ()
{
clearTimeout(t);
if (location.search.length > 1)
{
location.href="http://www.ya.ru/"
}
else
{
location.href="http://www.siteurl.ru/index.php?go=on"
}
}
</script>
ИМХО, самые лучшие VDS: https://cp.inferno.name/aff.php?aff=4048
vcarlsonn
На сайте с 08.01.2008
Offline
13
#5
Alipapa:
Это реально, но трудно за такой заказ браться. Ибо непросто выяснить желание заказчика, сделаешь - окажется не так, переделаешь - не совсем так и далее много раз. Лучше самому для себя делать.

умел бы сам, за помощью не обращался бы

на то вы и программисты, чтобы делать свою работу

Если правильно понял где что открыто и кто в каком фрейме: Просто разрушить фрейм

получается так: есть основной домен, он же домен1. Есть второстепенный домен, он же домен2. На домене2 страница содержит фрейм в который подгружается домен1. Т.о. если я буду использовать скрипт из задачи №1 на домене1, будет происходить редирект в нужное время, но при этом, так как этот домен открыт во фрейме на второстепенном домене, не будет происходить редирект непосредственно того домена (а именно домена2 или второстепенного), который открыт в браузере и урл которого находится в адресной строке. Вот и нужно сделать так, чтобы скрипт передал параметр в открытый фрейм и средиректил там страницу.

Короче более понятно не смогу описать, на мой взгляд все достаточно просто, но описать словами довольно сложно)))

C
На сайте с 20.09.2007
Offline
114
#6
Короче более понятно не смогу описать, на мой взгляд все достаточно просто, но описать словами довольно сложно)))

По шагам распишите.

Шаг один. Пользователь зашел на сайт_1, в нем фрейм в который грузится сайт_2

Шаг два. После n-секунд сайт_[НОМЕР] рефрешиться

Шаг три. После n-секунд сайт_[НОМЕР] что делает?

И напишите вам это всё для чего. Т.к. возможно есть и более лучшее решение (без фреймов).

vcarlsonn
На сайте с 08.01.2008
Offline
13
#7
censored!:
По шагам распишите.
Шаг один. Пользователь зашел на сайт_1, в нем фрейм в который грузится сайт_2
Шаг два. После n-секунд сайт_[НОМЕР] рефрешиться
Шаг три. После n-секунд сайт_[НОМЕР] что делает?

И напишите вам это всё для чего. Т.к. возможно есть и более лучшее решение (без фреймов).

Шаг один: пользователь попадает на страницу сайта_1, в ней фрейм, в который грузится сайт_2 (это фид одной из ППЦ систем).

Шаг два: После скажем 600 секунд на сайте_2 срабатывает скрипт рефреша (по типу <meta http-equiv="refresh" content="600; URL=/page-keyword/" /> ); тобеж рефреш идет именно на сайте_2.

Шаг три: проходит еще 600 секунд и в этот момент сайт_2 не рефрешится, как в прошлый раз, а редиректится на урл, который я укажу. Но, так как он находится во фрейме сайта_1, то пользователь увидит только изменение контента на странице, а вот урл в строке броузера так и останется прежним, тобеж хттп://сайт_1. Поэтому на сайте_2 нужно поставить такой скрипт, который бы произвел редирект именно на сайте_1. Я так понимаю, это должно быть что то по типу - "борьба с фреймами" -

<script>

if (parent.location.href == self.location.href){
// change the url below to the url of the
// frameset page...
window.location.href = 'http://google.com'
}
</script>
Alek$
На сайте с 25.06.2008
Offline
34
#8

vcarlsonn,

<script>
function do_refresh()
{
if(document.cookie.match(/page_viewed=ok/i))
{
document.cookie = "page_viewed=go";
window.top.location.href="http://ya.ru";
}
else
{
document.cookie = "page_viewed=ok";
document.location.reload();
}
}
setTimeout('do_refresh()', 600000)
</script>

Вставляется в домен2.

Вроде как должен работать во всех браузерах.

Google Cache Dumper & Bing Cache Dumper (/ru/forum/479980) RegSubmitter - Регистратор аккаунтов в социальных закладках (/ru/forum/300978) Мой блог (http://nevkontakte.org.ru).
vcarlsonn
На сайте с 08.01.2008
Offline
13
#9
Alek$:
vcarlsonn,
<script>

function do_refresh()
{
if(document.cookie.match(/page_viewed=ok/i))
{
document.cookie = "page_viewed=go";
window.top.location.href="http://ya.ru";
}
else
{
document.cookie = "page_viewed=ok";
document.location.reload();
}
}
setTimeout('do_refresh()', 600000)
</script>

Вставляется в домен2.

Вроде как должен работать во всех браузерах.

в опере, файрфокс пашет

а вот в ИЕ (проверял на 7) блокируется кука(

а вообще супер, пока это самый рабочий и самый удбный вариант!!!

Alek$
На сайте с 25.06.2008
Offline
34
#10

vcarlsonn, ну вот тогда еще один вариант.

Тоже вроде кроссбраузерный.

Fuck-fuck
<script>
function do_refresh()
{
if(document.location.hash.match(/go/))
{
document.location.hash = "";
window.top.location.href="http://google.ru";
}
else
{
document.location.hash = "go";
document.location.reload();
}
}
setTimeout('do_refresh()', 2000)
</script>
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий