У меня есть защищенная паролем ссылка, которая откроется в новой вкладке, но теперь я хочу, чтобы время ожидания этой вкладки истекло. Я пробовал это, но безрезультатно, любая помощь была бы удивительной!
<script> var newWin; function validatePass(){ if(document.getElementById('password').value == 'Techsoc'){ newWin = window.open('https://docs.google.com/spreadsheets/d/e/2PACX-1vRsNGb741vTBtSGlzbxnTsoZpFMs0l9ZMrD54uE4XGy6FvSMmNfp3RPWvDU3vI32iSIp07CEshGLo0M/pubhtml'); }else{ alert('Incorrect Password, please try again.'); return false; setTimeout(function(){newWin.close()}, 5000); } } </script>
Проблема была в том, что время ожидания было в операторе else, когда новое окно было создано в if. Теперь, если вы введете пароль и нажмете кнопку, откроется новая вкладка и закроется по истечении времени, установленного в тайм-ауте.
<input type="password" id="password"></input> <button OnClick="validatePass()">Log In</button> <script> var newWin; function validatePass() { if (document.getElementById('password').value == 'Techsoc') { newWin = window.open('https://docs.google.com/spreadsheets/d/e/2PACX-1vRsNGb741vTBtSGlzbxnTsoZpFMs0l9ZMrD54uE4XGy6FvSMmNfp3RPWvDU3vI32iSIp07CEshGLo0M/pubhtml'); setTimeout( function () { newWin.close() }, 5000); } else { alert('Incorrect Password, please try again.'); return false; } } </script>