все словил все что нужно, оказывается нельзя разрешать кэш для всего, нужно разрешать лишь для определенных запросов, иначе не будет грузится сайт до конца.
всем большое спасибо за помощь
Остановить все потоки, а потом снова запустить.
-
понял, спасибо. Подождем еще автора, он то точно прояснит про localstorage в многопоточной функции :)
Еще заметил не приятную багу: все ошибки в многопоточной функции в лог не выводятся. Она просто падает в "неудачное выполнение", а что там было не удачным, переменная пустаяилиеще что, не ясно :(
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup Блок настройки браузера надо ставить в начале, так как при этом перезапустится браузер. На всех сайтах с флешем такая проблема?
закрыл, открыл БАС и заработало.
Теперь пытаюсь придумать, как принудительно включать нужный плагин выполняя JS код, что бы не зависеть от отпечатка. Сейчас приходится дергать сервис отпечатков пока не получу отпечаток например с флешем. Не хотелось бы нагружать таким способом сервис отпечатков.Если есть опыт в JS подсказать пожалуйста, что делаю не так:
Object.defineProperty(window.navigator, 'mimeTypes', {get: function() {
return [{description:"Shockwave Flash", "suffixes":"swf", "type":"application/x-shockwave-flash"},{description:"Shockwave Flash", "suffixes":"spl", "type":"application/futuresplash"}]; }});Object.defineProperty(window.navigator, 'plugins', {get: function() {
return [{name:"Shockwave Flash", description:"Shockwave Flash 26.0 r0", "filename":"pepflashplayer.dll", 0:window.navigator.mimeTypes[0], 1:window.navigator.mimeTypes[1] }]; }}); -
@Sevenup С js знаком с натяжкой. Включать нужный плагин можно и не через js код, можно в самом файле ручками его поменять, прочитать, пройтись регуляркой и поменять что нужно. Или изначально выкачать отпечатки с флешем, проверяя их на входе. Сохранить их и использовать уже сохранённые.
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup С js знаком с натяжкой. Включать нужный плагин можно и не через js код, можно в самом файле ручками его поменять, прочитать, пройтись регуляркой и поменять что нужно. Или изначально выкачать отпечатки с флешем, проверяя их на входе. Сохранить их и использовать уже сохранённые.
да, вот только вариант с выкачать и остается :( так и делаю.
Но красиво же было бы, если бы так чик пик запустил код и добавил/удалил/переназначил плагин. В общем-то чувствую я уже близко :) но вот с mimeTypes что-то не выходит. -
Идея напарсить отпечатков с флешем отличная, только вот быстро сервис ложиться и залипает на "получить отпечаток" :( каждый 10й например с флешем, что бы 10 отпечатков получить нужно 100 раз сходить на сервер. Ключ с лимитом 1000 в минуту не спасает, очень быстро сервер уходит с бесконечное ожидание. Попробую днем завтра, может сейчас кто-то его активно использует :)
-
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup Тебе сколько нужно отпечатков с флешем? Поставь выгрузку с ожиданием на ночь, по тихоньку выгрузится.
А вообще я бы прямо в отпечатке регуляркой менял ))как-то так и сделал, к утру надеюсь подтянутся.
ага, не все там так просто :) регуляркой не обойдешься. Загляни внутрь и поймешь. Не ну если кто справиться, с меня арбуз! :)
тут надо научиться работать с API navigator, тогда можно блоком "выполнить код в начале загрузкикаждой страницы" менять плагины, шрифты и много чего в отпечатке.
-
если в многопоточную функцию, в конце всех условия вставляю "закрыть браузер", то данная функция заканчивается на нечавшись. т.е. каждый ее поток сразу завершается.
Как так? Куда бы я не вставил "закрыть браузер", даже обернув в if(2==1) функция все равно закрывается не начавшись. Как только убираю этот блок все ок. Я не верно использую метод "закрыть браузер" или бага? -
@Fox said in Остановить все потоки, а потом снова запустить.:
@Sevenup Если ты используешь экшен закрыть браузер, то перед ним обязательно должен быть открыть браузер.
эмммм, а разве "браузер"->"загрузить" не открывает браузер? ну т.е. в смысле когда поток начался он же открывает браузер.
нашел вот http://community.bablosoft.com/post/3210 пошел эксперементировать :)
Например 10 потоков запущены многопоточной функцией, мне нужно сменить прокси (то, что мы обсуждали выше).
Вариант 1: нужно дождаться выполнения всех потоков в функции, что не гуд, так как 9 потоков закончились, а 1 еще работает и теряем время(ресурс). Каждый поток работает с разной задачей разное время.
Вариант 2: когда пришло время, дропаем на чем есть, не важно завершился ли поток (или ставим на паузу, в начало выполнения) все потоки, а после смены прокси запускаем их все сначала. Как это сделать пока не знаю.
Суть в том, что бы в один момент (когда меняется прокси) прекратить все запросы и после смены прокси запустить определенную функцию с начала.