Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как сделать постоянную проверку на javascript (https://javascript.ru/forum/misc/6951-kak-sdelat-postoyannuyu-proverku-na-javascript.html)

subzey 08.01.2010 19:49

Gvozd,
я тоже об этом думал. Но вот проблема: если диалоговое окно alert будет висеть 5 секунд, Opera, например, сразу после его закрытия перейдет по <meta>, и отменять будет уже поздно.

Тесткейс:
<meta http-equiv="refresh" content="3; url=http://www.yandex.ru">
<script>
setTimeout(function(){alert(1)}, 1000);
setTimeout(function(){alert(2)}, 2000);
</script>

alb 08.01.2010 20:03

Цитата:

Сообщение от Gvozd (Сообщение 39973)
хм
у меня повилась идея, как ты это делал, или можно было бы сделать:
динамически создаем тег meta с перенаправлением через 5 секунд
раз в секунду удаляем его, и заново создаем.
таким образом пока включен JS тег не сделает перенаправления

:no: Это не то, я на выходных, а это уже завтра подумаю, может чего нибудь вспомню и сделаю так как было.
А то что ты предлагаешь, это я даже представить немогу как удалять и создавать, я особо в javascript неочень, но кое что могу.
И темболее если например отключение будет в ту самую секунду когда тег meta сотрётся, то соотвественно перенаправление не будет.Но хотя идея хорошая, но только вот как это сделать, и ещё, процессор как будет работать?
Я как то пытался сделать кое что, сделал, но проц сильно был загружен, почти на все 100 процентов, при это сайт тормозил хорошо.

Gvozd 08.01.2010 21:37

Цитата:

Сообщение от alb
отключение будет в ту самую секунду когда тег meta сотрётся

тогда создавать новое перенаправление до того как удалять старое
НО:
почему-то мне не удалось заставить работать свою идею.
почему-то meta созданный динамически после отключения JS не срабатывал.
Цитата:

Сообщение от alb
я даже представить немогу как удалять и создавать

http://javascript.ru/tutorial/dom

alb 08.01.2010 22:26

Хорошо, вот пример такой - document.write(' <noscript><meta http-equiv="refresh" content="1; url=http://www.yandex.ru"></noscript> ');

и только без <script> </script> работает если отключить javascript, то переходит

если ставить <script> </script>

<script> document.write(' <noscript><meta http-equiv="refresh" content="1; url=http://www.yandex.ru"></noscript> ');</script> - то уже не работает если отключить javascript то не переходит.

Я делал как то, только не помню как короче заключал meta в
<script> </script> и при отключении javascript срабытывал переход
Но работало только в опере, почему? я так тогда и не разобрался, так как были дела и я на время всё забросил, но потом по ошибке всё стёр,
Сейчас я не могу вспомнить как я делал, сам не знаю почему, наверное 1-2 года назад был умнее :cray:

alb 08.01.2010 22:31

Да, и ещё все у меня было в цикле и постоянно обращалась к document.write, ну короче например если выводить картинки поочереди, они же постоянно обрааются к следующей и следующей и потом заново, так и у меня было что то типо этого.

alb 08.01.2010 23:11

Короче, нужен скрипт, который мешает выполнению - <meta http-equiv="refresh" content="1; url=http://www.yandex.ru">
как только javascript отключится, то уже нечего мешать не будет и meta выполнит своё действие.И я это как то делал но работало только в опере:)

subzey 09.01.2010 02:38

Цитата:

Сообщение от alb
Короче, нужен скрипт, который…

Нам подсуетиться и написать его для Вас? :)

alb 09.01.2010 09:16

Цитата:

Сообщение от subzey (Сообщение 40017)
Нам подсуетиться и написать его для Вас? :)

:yes: пожалуйста напишите если вам это не трудно.

alb 09.01.2010 14:05

Короче сделать никак нельзя, вот и весь ответ:dance:


Часовой пояс GMT +3, время: 10:42.