Multiple consecutive redirects using a JavaScript Popup

In project.net, the project management application we are using, you can't directly link to e.g. a discussion group. You have to click on the respective business, then on Discussions and afterwards on the group itself.

In order to automate this, we created a link to a JavaScript popup that then redirect to one page after the other. The relevant code is the following:

function pop_redirect() {

 attr = 'resizable=no,scrollbars=yes,width=150,height=100';
 popWin=open('', 'new_window', attr);
 popWin.document.write('<head><title>Test Popup</title>');
 popWin.document.write('<scr'+'ipt language="JavaScript">');
 popWin.document.write('function last_redirect(){\n');
 popWin.document.write('if(opener && !opener.closed){\n');
 popWin.document.write('opener.location.href="http://last_url.com";\n');
 popWin.document.write('window.close();\n');
 popWin.document.write('}\n');
 popWin.document.write('}\n');

 popWin.document.write('function redirect2(){\n');
 popWin.document.write('if(opener && !opener.closed){\n');
 popWin.document.write('opener.location.href="http://second_url.com";\n');
 popWin.document.write('setTimeout("last_redirect()", 500);\n');
 popWin.document.write('}\n');
 popWin.document.write('}\n');

 popWin.document.write('function redirect_board(){\n');
 popWin.document.write('if(opener && !opener.closed){\n');
 popWin.document.write('opener.location.href="http://first_redirect.com";\n');
 popWin.document.write('setTimeout("redirect2()", 500);\n');
 popWin.document.write('}\n');
 popWin.document.write('}\n');
 popWin.document.write('setTimeout("redirect_board()", 500);');
 popWin.document.write('<\/scr'+'ipt>\n');
 popWin.document.write('</head>\n');
 popWin.document.write('<body onload="redirect_board()">');
 popWin.document.write('Processing done...Please wait.<br>If it does not work, click <a href="javascript:redirect_board()">here</a>');
 popWin.document.write('</body>');
 popWin.document.write('</html>');
 }

And the relevant link is just a javascript link using

<a href="#" onClick="board_redirect()">Redirect Me</a>

Update: The following accepts an array of URLs to cycle through:

function redirect(urllist)
{
 attr = 'resizable=no,scrollbars=yes,width=150,height=100';
 popWin=open('', 'new_window', attr);
 popWin.document.write('<head><title>Redirecting...</title>');
 //popWin.document.write('</head><body>');
 popWin.document.write('<scr'+'ipt language="JavaScript">');
 popWin.document.write('var urllist = new Array(' + urllist.length + ');\n');
 for(i=0;i<urllist.length;i++)
 {
 popWin.document.write('urllist[' + i + '] = "' + urllist[i] + '";\n');
 }
 popWin.document.write('function redirect(i){\n');
 popWin.document.write('if(i == urllist.length){\n');
 popWin.document.write('window.close();\n');
 popWin.document.write('}\n');
 popWin.document.write('else {\n');
 popWin.document.write('if(opener && !opener.closed){\n');
 popWin.document.write('opener.location.href=urllist[i];\n');
 popWin.document.write('i=i+1;\n');
 popWin.document.write('setTimeout("redirect(" + i + ")", 500);');
 popWin.document.write('}\n');
 popWin.document.write('}\n');
 popWin.document.write('}\n');

 popWin.document.write('<\/scr'+'ipt>\n');
 popWin.document.write('</head>\n');
 popWin.document.write('<body>\n');
 popWin.document.write('Processing done...Please wait.<br>If it does not work, click <a href="javascript:redirect(0)">here</a>\n');
 popWin.document.write('</body>\n');
 popWin.document.write('</html>\n');
 popWin.onload = popWin.redirect(0);
 }

And then call it using the following statement:

<a href="#" onClick='javascript:redirect(["http://www.google.at", "http://www.gmx.at", "http://www.facebook.com"])'>Redirect</a>
This website uses cookies. By using the website, you agree with storing cookies on your computer. Also you acknowledge that you have read and understand our Privacy Policy. If you do not agree leave the website.More information about cookies