2015-04-19 1 views
1

J'utilise un script appelé "HIT Scraper WITH EXPORT" pour m'aider dans mon travail. À l'heure actuelle, il est configuré de manière à ce qu'à chaque fois qu'il y a un nouveau message, la page joue un son audible/ding. Normalement, lorsque cela se produit, je dois changer d'onglet et cliquer manuellement sur la nouvelle liste pour en avoir un aperçu. J'essaie de faire en sorte qu'il ouvre automatiquement la liste avant/après dinging. Aussi, si possible, avoir mis l'accent sur cet onglet si je suis dans un autre. Est-ce possible, où dois-je commencer? Je vais poster le code et certaines zones d'intérêt que j'ai remarqué, je ne sais pas quoi faire avec ces zones .. Merci d'avance.Ouvrir la page Web en javascript sur le déclencheur

La fonction qui fonctionne quand un nouveau coup se trouve que je pense:

function newHits(dingNoise) { 
    //console.log(dingNoise); 
    if (dingNoise || newHitDing) 
     document.getElementById("ding_noise"+audio_index).play(); 
} 

Je pense que « preview_link » est le var que je dois ouvrir automatiquement après le ding Reproduit le son.

var preview_link = "/mturk/preview?groupId=" + group_ID; 

Alors ma logique était quelque chose comme:

function newHits(dingNoise) { 
    //console.log(dingNoise); 
    if (dingNoise || newHitDing) 
     document.getElementById("ding_noise"+audio_index).play(); 
    window.open("/mturk/preview?groupId=") + group_ID; 

} 

Ce qui ne fonctionne pas .. Voici le script complet si quelqu'un a des idées .. Merci encore.

https://greasyfork.org/en/scripts/2002-hit-scraper-with-export/code

EDIT: Je ne pense pas que la façon dont je voulais d'abord faire cela fonctionnera, rien dans le code sait/points aux nouvelles annonces réelles. Tout ce qui est défini dans le code est la fonction de lien d'aperçu. S'il y a un moyen de l'appeler/ouvrir ce "var preview_link ="/mturk/preview? GroupId = "+ group_ID;" après le ding, ce serait probablement ce dont j'ai besoin.

for (var j = 0; j < $requester.length; j++) 
{ 
    var $hits = $requester.eq(j).parent().parent().parent().parent().parent().parent().find('td[class="capsule_field_text"]'); 
    var requester_name = $requester.eq(j).text().trim(); 
    var requester_link = $requester.eq(j).attr('href'); 
    var group_ID=(listy[j] ? listy[j] : ""); 
    group_ID=group_ID.replace("/mturk/notqualified?hit",""); 
    var masters = false; 
    var title = $title.eq(j).text().trim(); 
    var preview_link = "/mturk/preview?groupId=" + group_ID; 
    //console.log(listy[j]); 
    //console.log(title+" "+group_ID +" "+ listy[j]); 
    if (!group_ID || group_ID.length == 0){ 
     preview_link = requester_link; 
     title += " (Requester link substituted)"; 
    } 
    var reward = $reward.eq(j).text().trim(); 
    var hits = $hits.eq(4).text().trim(); 
    var time = $times.eq(j).parent()[0].nextSibling.nextSibling.innerHTML; 
    var description = $descriptions.eq(j).parent()[0].nextSibling.nextSibling.innerHTML; 
    //console.log(description); 
    var requester_id = requester_link.replace('/mturk/searchbar?selectedSearchType=hitgroups&requesterId=',''); 
    var accept_link; 
    accept_link = preview_link.replace('preview','previewandaccept'); 
+1

Vous ne pouvez pas demander au navigateur de faire la mise au point d'un nouvel onglet. Pensez-y ... si tout le monde faisait cela, vous perdriez totalement le contrôle de votre navigateur en tant qu'utilisateur. – charlietfl

Répondre

0

Je penser que vous voulez faire:

window.location.replace(window.location.host + '/mturk/preview?groupId='+ group_ID) 

Je suis en fait pas sûr si vous avez besoin de la part window.location.host +.

+0

J'ai essayé cela et cela n'a rien changé, j'ai juste mis l'écran en sourdine. –