2013-11-13 1 views
-1

У меня есть 2 скрипта, которые используют 2 веб-сайта и общаются друг с другом. В основном: веб-сайт 1, скрипт web1, веб-сайт 2, скрипт web2, и они идут в цикле следующим образом: сценарий Web1> ждет нового контента на странице1> отправляет его на веб-сайт 2 (изменяет сайт через window.location.href = веб-сайт 2) И после того, как веб-сайт 2 завершит работу, он вернется на сайт 1. Вот как мой сценарий ДОЛЖЕН работать, но у меня есть несколько проблем:greasemonkey предотвращает застревание скрипта, если inernet идет вниз

Я использую Tampermonkey с Chrome. Каждый раз, когда мое соединение опускается, хром меняет текущую страницу веб-сайта на какую-то пользовательскую страницу без ошибки подключения. Это останавливает мой скрипт, и он не может вернуться даже тогда, когда снова подключен мой интернет (причина, по которой я не могу @ включить эту пользовательскую веб-страницу, поэтому я не могу заставить скрипт вернуться на прежнюю веб-страницу ..) Этот скрипт должен работать целый день без взаимодействия с человеком но это не может быть вызвано случайным перерывом в 2-3 секунды ...

Есть ли способ остановить хром от этого или сделать greasemonkey работать на пользовательских страницах с ошибками Chrome или в конце концов, если firefox способен на это?

Я также сделал простой интервальный functin возобновить мой сценарий, если что-то не так, и страница не обновляется слишком долго, это выглядит следующим образом:

function watchdog() 
{  
window.setInterval(function(){console.log('woof'); ninja_t('woof');set_number = 9; localStorage.setItem('set_number',9);set(set_number);},60000); 
} 

Будет ли эта функция работает, если есть какой-то SyntaxError? Я имею в виду, что функции setInterval все еще работают после синтаксических ошибок в других функциях?

+0

Довольно неясно, я даже не знаю, в чем проблема. Можете ли вы опубликовать код и объяснить, в чем смысл? – OlivierH

+0

Извините @OlivierH Я отредактировал мой вопрос. Надеюсь, теперь вы получите то, что я имел в виду. Если еще есть что-то непонятное, скажите мне. – user2654072

+0

Зачем вам получать SyntaxError? Единственное, что вы можете сделать, это выполнить «window.location = 'your_url'' без подключения к Интернету. Я отвечаю. – OlivierH

ответ

0

Если я хорошо понимаю вашу проблему, вы хотите, чтобы ваш сценарий приостановился, если нет доступного интернет-соединения, вместо того, чтобы сделать window.location и так рушиться.

Прочтите this, чтобы узнать, как проверить подключение к Интернету с помощью javascript. Вы можете использовать функцию setTimeout, чтобы приостановить ваш сценарий, ожидая, пока подключение к Интернету вернется.

+0

Thank You Это почти то, что мне нужно! К сожалению, когда я добавил, что всего лишь секунду назад я увидел, что на одном из сайтов используется И сайт перезагружает, так или иначе перенаправляя меня на эту обычную страницу «без соединения» хром. .. Я думаю, что я попытаюсь адаптировать скрипт к firefox и greasemonkey, возможно, это поможет сохранить скрипт. Спасибо за вашу помощь и за понимание моего ужасного английского языка :) – user2654072

+0

Вы также можете обнаружить перенаправление с событием 'beforeunload':' window.onbeforeunload = function() {...} '. С этим вы можете поймать обновление, проверить подключение к Интернету и отменить его (вернуть false в эту функцию). – OlivierH

+0

Вы также можете удалить тег ' – OlivierH

Смежные вопросы