ChromeまたはGreasemonkeyスクリプトの魔女がキュー内のすべてのポップアップを開くことができるかどうかを尋ねたいと思います。これまでのところ、これには2つの別個のスクリプトがありますが、ポップアップにはスパム対策機能があり、同時に多くのスクリプトを許可しないため、これはうまく機能していません。
私がやりたいのは、ポップアップリンクの配列をキュー形式で処理し、前のリンクが閉じているときにのみ次のリンクを開くことです。キューやあらゆる種類のイベントバインディングに至ると、私には経験がありません。
だから私が得たリソース:
1)すでに準備されているリンクの配列
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)ポップアップの画像に投票するスクリプト
/*######################################################*/
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();
}
}
});
私が理解できる限り、それは次のようになるはずです:
1)すべての投票されていないURLとフォーム配列を取得する(完了)
2)すべてのポップアップをキューに入れて開く
3)最初のポップアップを開始する
4)投票が完了してポップアップが閉じる(完了)
5)2番目に開始ポップアップ
6)アレイが終了したら、次のページに切り替えます(完了)
あなたが思うこと?