2016-06-10 13 views
0

Unter normalen Umständen bin ich in der Lage, Amazon Mechanical Turk Benutzer zu meiner Umfrage zu verknüpfen, einfach durch Kopieren und Einfügen der URL meiner Umfrage in das Formular. Wenn Benutzer auf diese URL klicken, werden sie auf dieser Seite in einer neuen Registerkarte gesendet.JavaScript zufällige Link-Generierung und öffnen sie in einem neuen Tab

Ich möchte diese feste URL mit einem Hyperlink ersetzen, die Benutzer auf eine von vier Webseiten zufällig umleitet. Mit Hilfe konnte ich die Generierung eines Arrays aus vier verschiedenen Sites und die Möglichkeit, einen davon zufällig auszuwählen und dem Benutzer zu präsentieren, kodieren. Mein Problem mit diesem Code ist, dass beim Klicken auf diesen neuen (Hyper-) Link die URL zu einer der Seiten in Klartext angezeigt wird, und im selben Fenster.

Was ich zu tun versuchen, ist die Benutzer senden direkt einem der zufällig ausgewählten Stellen in der Anordnung in einem Tab neue, wenn sie diese URL klicken. Kurz gesagt: Es würde sich genauso verhalten wie ein direkter Hyperlink zu einer URL. Der Grund dafür ist, dass Benutzer die Seite, die sie an die verschiedenen offenen Seiten weiterleitet, behalten müssen, da sie nach Abschluss der Umfrage einen Code eingeben müssen.

Ich verstehe nicht, warum das nicht bereits passiert, und wie ich den Code anpassen sollte, um dies zu ermöglichen. Ich wäre sehr dankbar für die Hilfe bei der Lösung dieses Problems.

<a href="JavaScript:openSite()">Click to go to a random site</a> 
 
<script> 
 
var links = [ 
 
       "google.com", 
 
       "youtube.com", 
 
       "stackoverflow.com", 
 
       "apple.com"] 
 

 
      var openSite = function() { 
 
       // get a random number between 0 and the number of links 
 
       var randIdx = Math.random() * links.length; 
 
       // round it, so it can be used as array index 
 
       randIdx = parseInt(randIdx, 10); 
 
       // construct the link to be opened 
 
       var link = 'http://' + links[randIdx]; 
 

 
    return link; 
 
    }; 
 
</script>

Antwort

1

Versuchen als

<a href="javascript:openSite()">Click to go to a random site</a> 
<script> 
var links = [ 
       "google.com", 
       "youtube.com", 
       "stackoverflow.com", 
       "apple.com"] 

      var openSite = function() { 
       // get a random number between 0 and the number of links 
       var randIdx = Math.random() * links.length; 
       // round it, so it can be used as array index 
       randIdx = parseInt(randIdx, 10); 
       // construct the link to be opened 
       var link = 'http://' + links[randIdx]; 

    var win = window.open(link, '_blank'); 
    win.focus(); 

    }; 
</script> 
+0

folgt ich denke, es funktioniert, du bist ein Lebensretter! –

Verwandte Themen