JavaScript随机链接生成并在新选项卡中打开它们

JavaScript随机链接生成并在新选项卡中打开它们,javascript,html,redirect,random,href,Javascript,Html,Redirect,Random,Href,在正常情况下,我可以将亚马逊Mechanical Turk用户链接到我的调查,只需将调查的URL复制并粘贴到表单中即可。当用户单击此URL时,他们将在新建选项卡中发送到此页面 我想用一个超链接替换这个固定的URL,该超链接可以将用户随机重定向到四分之一的网页。在帮助下,我能够编写由四个不同站点组成的数组,并能够随机选择其中一个站点并将其呈现给用户。我对这段代码的问题是,单击这个新的(超)链接后,它们会以纯文本的形式出现在同一窗口中,并显示指向其中一个站点的URL 我试图做的是,当用户单击此URL

在正常情况下,我可以将亚马逊Mechanical Turk用户链接到我的调查,只需将调查的URL复制并粘贴到表单中即可。当用户单击此URL时,他们将在新建选项卡中发送到此页面

我想用一个超链接替换这个固定的URL,该超链接可以将用户随机重定向到四分之一的网页。在帮助下,我能够编写由四个不同站点组成的数组,并能够随机选择其中一个站点并将其呈现给用户。我对这段代码的问题是,单击这个新的(超)链接后,它们会以纯文本的形式出现在同一窗口中,并显示指向其中一个站点的URL

我试图做的是,当用户单击此URL时,将用户直接发送到阵列中新建选项卡中随机选择的一个站点。简言之:使其行为与URL的直接超链接相同即可。这样做的原因是,用户必须保持将他们重定向到不同站点的页面处于打开状态,因为他们需要在完成调查后填写代码

我无法理解为什么这还没有发生,以及我应该如何调整代码使之成为可能。我非常感谢您帮助我解决这个问题


变量链接=[
“google.com”,
“youtube.com”,
“stackoverflow.com”,
“apple.com”]
var openSite=function(){
//获取一个介于0和链接数之间的随机数
var randIdx=Math.random()*links.length;
//将其四舍五入,以便可以将其用作数组索引
randIdx=parseInt(randIdx,10);
//构造要打开的链接
var link='http://'+links[randIdx];
返回链接;
};
尝试以下操作

<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>

变量链接=[
“google.com”,
“youtube.com”,
“stackoverflow.com”,
“apple.com”]
var openSite=function(){
//获取一个介于0和链接数之间的随机数
var randIdx=Math.random()*links.length;
//将其四舍五入,以便可以将其用作数组索引
randIdx=parseInt(randIdx,10);
//构造要打开的链接
var link='http://'+links[randIdx];
var win=window.open(链接“u blank”);
win.focus();
};
尝试以下操作

<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>

变量链接=[
“google.com”,
“youtube.com”,
“stackoverflow.com”,
“apple.com”]
var openSite=function(){
//获取一个介于0和链接数之间的随机数
var randIdx=Math.random()*links.length;
//将其四舍五入,以便可以将其用作数组索引
randIdx=parseInt(randIdx,10);
//构造要打开的链接
var link='http://'+links[randIdx];
var win=window.open(链接“u blank”);
win.focus();
};