Chciałbym zapytać, czy możliwe jest zbudowanie skryptu Chrome lub Greasemonkey, który mógłby otworzyć wszystkie wyskakujące okienka w kolejce. Jak dotąd mam do tego dwa osobne skrypty, ale to nie działa dobrze, ponieważ wyskakujące okienka mają funkcję antyspamową, która nie pozwala na ich zbyt wiele w tym samym czasie.kolejka jQuery w Chrome usercript z wyskakującymi okienkami?
Co chcę zrobić, to przetwarzać tablicę odnośników w trybie kolejki i otwierać tylko wtedy, gdy poprzednia jest zamknięta. Nie mam wrażenia, gdy przechodzi do kolejek i wszelkiego rodzaju zdarzeń wiążących.
So zasoby mam:
1) Macierz linków już przygotowane
var URL_Array = [];
$('form[name="form_gallery"] .img img').each(function(i,e){
// Format URL array here
if($(this).closest('.object').children('.phs_voted_count').length == 0){
var string = e.src;
var nowBrake = string.substring(string.length-7,7);
var splited = nowBrake.split('/');
var urlStr = '/window/friend/gallery_view/'+splited[3]+'/'+splited[4]+'.html';
URL_Array[i] = urlStr;
}
});
2) skrypt, który głosuje nad obrazem w popup
/*######################################################*/
var voteBy = '#vte_mark_12'; // Prefered vote icon
var voteDefault = '#vte_mark_5'; // Default vote icon
var voteFormLoc = 'image_voting'; // Image voting popups form
var buyExtraVote = 'image_voting_buy'; // If run out of votes buy more
var captchaLoc = 'input[name="captcha"]'; // Captcha input field
var captchaTxt = 'Enter captcha text!'; // Captcha alert text
var simpatyFormId = '#sym_send'; // Simpaty window form
var startScript = true;
var formProcessedAlready = false; // Used to check if image already was voted
/*######################################################*/
$(function(){
if(startScript){
if($(captchaLoc).length > 0){
alert(captchaTxt);
$(captchaLoc).focus().css('border', '2px solid red');
return false;
}else{
if($('#50').length > 0){
$('#50').attr('checked', true);
$('form').attr('id', buyExtraVote);
$('#'+buyExtraVote).submit();
}else{
$('form').attr('id', voteFormLoc);
if($(voteBy).length > 0){
$(voteBy).attr('checked', true);
setTimeout("$('#"+voteFormLoc+"').submit()", 2000);
}else if($(voteDefault).length > 0){
$(voteDefault).attr('checked', true);
setTimeout("$('#"+voteFormLoc+"').submit()", 2000);
}else{
// If we have simpaty box autocast submit
if($(simpatyFormId).length > 0){
if($(captchaLoc).length > 0){
alert(captchaTxt);
$(captchaLoc).focus().css('border', '2px solid red');
return false;
}else{
$(simpatyFormId).submit();
formProcessedAlready = true;
}
}else{
formProcessedAlready = true;
}
}
}
}
if(formProcessedAlready){
self.close();
}
}
});
O ile mogę zrozumieć powinien wyglądać następująco:
1) Pobierz wszystkie nieulotowane adresy URL i utwórz tablicę (done)
2) kolejki wszystkie wyskakujące okienka, aby otworzyć
3) Rozpoczęcie pierwszego popup
4) zrobić Głosowanie i okienko zamyka (zrobione)
5) Początek drugiej okienko
6) Kiedy tablica zakończeniu przełączyć się na następnej stronie (zrobione)
Co myślisz?
lepiej zrobić jedno okienko, więc każdy program antywirusowy willn't go zablokować. Rozpocznij pierwsze wyskakujące okienko -> Głosowanie zakończone i wyskakujące odświeżanie z nowym formularzem -> ... –
Jestem gotowy na każde rozwiązanie za każdym razem nowe lub nowe. Będę tylko osobą, która będzie z tego korzystała, więc nie martwię się blokowaniem. – arma