Как ограничить время теста в Google Форме
Google Формы – это простой и бесплатный инструмент для создания опросов, сбора данных или тестирования. Например, его часто используют для регистрации на мероприятиях, получения обратной связи от клиентов либо для тестирования уровня знаний учеников и студентов.
Но, именно для тестирования Google Формы подходят не так хорошо. Основная проблема в том, что Google Формы не позволяют ограничить время теста. Такая функция просто не предусмотрена разработчиками. В данной статье мы рассмотрим два способа, как можно обойти эту проблему и все-таки установить ограничение на прохождение теста в Google Формах.
Дополнения для ограничения времени заполнения Google Формы
Самый эффективный способ ограничить время заполнения теста в Google Формах – это дополнения. Этот способ позволяет добавить на форму таймер, который стартует в момент начала заполнения формы и ограничивает время, которое можно потратить на ответы.
Для того чтобы воспользоваться дополнением для ограничения времени теста нужно открыть редактор Google Форм, нажать на кнопку с тремя точками и выбрать пункт « Дополнения ».
В результате откроется магазин дополнений, которые можно использовать с Google Формами. Для поиска дополнений по определённым темам можно использовать поисковую строку.

Для того чтобы начать использовать дополнение его нужно установить и дать все требующиеся разрешения. Для примера установим расширение « Extended Forms ». С его помощью можно установить таймер для ограничения времени теста.

После установки расширения оно станет доступно в редакторе Google Форм. Окно дополнения можно открыть с помощью кнопки в верхней части страницы.

В окне дополнения можно включить ограничение по времени. Когда все будет настроено можно начинать тестирование, чтобы получить ссылку воспользуйтесь кнопкой « Invite People » в окне расширения.

При использовании дополнений тест будет заполняться на сайте дополнения, но сама форма будет выглядеть так как вы ее настроили в редакторе.

Результаты тестирования можно будет просматривать как в личном кабинете на сайте дополнения, так и на странице Google Форм или в Google Таблицах (как обычно).
Основная проблема данного способа в том, что он платный. Дополнения разрабатываются сторонними компаниями и предоставляются на платной основе. Обычно у дополнений есть бесплатный тариф, который включает 100 бесплатных тестов в месяц.
Если нужно больше тестов, то придётся купить платную подписку. У дополнения « Extended Forms », которое мы использовали в данной статье, 2000 тестов стоит $6 в месяц, 4000 тестов – $9/мес., 10000 тестов – $19/мес.
Скрипты для ограничения времени заполнения Google Формы
Также для ограничения времени заполнения теста в Google Форме можно использовать скрипты. Для того чтобы добавить к форме скрипт, нужно нажать на кнопку с тремя точками и выбрать пункт « Редактор скриптов ».

К сожалению, с помощью скриптов нельзя создать таймер, ограничивающий время теста, так как это делают дополнения. С помощью скриптов можно только установить время начала и конца тестирования. Например, если вы назначили экзамен с 12:00 до 13:00, то с помощью скрипта можно запретить пользователю заполнять форму после 13:00 и заставить его отправить ответы.
Скрипт выглядит следующим образом:
function closeForm() < var activeForm = FormApp.getActiveForm(); var sectionItems = activeForm.getItems(FormApp.ItemType.PAGE_BREAK); for (var i=0; i < sectionItems.length; i++) < var pageBreak = sectionItems[i].asPageBreakItem(); pageBreak.setGoToPage(FormApp.PageNavigationType.SUBMIT); >> function resetForm() < var activeForm = FormApp.getActiveForm(); var sectionItems = activeForm.getItems(FormApp.ItemType.PAGE_BREAK); for (var i=0; i < sectionItems.length; i++) < var pageBreak = sectionItems[i].asPageBreakItem(); pageBreak.setGoToPage(FormApp.PageNavigationType.CONTINUE); >>
Данный скрипт нужно вставить в редактор скриптов и настроить его запуск по времени.

Также для коректной работы скрипта требуется, чтобы каждый вопрос был оформлен как отдельный раздел в Google Форме.

Более подробно об этом скрипте можно почитать в статье его автора. Статья на английском, но с помощью переводчика разобраться будет не трудно.
- Как создать тест в Google Формах: пошаговая инструкция для чайников
- Как создать таблицу и привязать ее к Google Форме
- Как посмотреть ответы в Google Формах
- Как закрепить строку или столбец в Google Таблице
- Как создать Google Таблицу или Документ с общим доступом
Создатель сайта comp-security.net, автор более 2000 статей о ремонте компьютеров, работе с программами, настройке операционных систем.
Остались вопросы?
Задайте вопрос в комментариях под статьей или на странице «Задать вопрос» и вы обязательно получите ответ.
Остановить таймер с помощью checknet js?
У меня проблема Я создаю онлайн-тест. Я проверяю, что интернет был отключен с помощью плагина jquery checknet. Если интернет отключается, тоже отключает все кнопки. Но я не могу остановить время, отведенное для теста. Или, когда интернет отключен, мне нужно добавить одну секунду к обратному отсчету к каждой секунде
Вот у меня интернет работает и все в порядке 
Как можно остонавит или +1 за каждий секунд? Проблема в том, что один из них полный JS. другой — Jquery
Таймер, который нужно остановить:
function updateExamTimer() < var timeLeft = EXAM_TIME_LEFT - elapsedTime; elapsedTime += 1; var minutes = Math.floor(timeLeft / 60); var seconds = timeLeft % 60; var hours = Math.floor(minutes / 60); var minutes = minutes % 60; if (hours < 10) < hours = '0' + hours; >if (minutes < 10) < minutes = '0' + minutes; >if (seconds < 10) < seconds = '0' + seconds; >if (timeLeft else < document.location.href = 'complete.php?id=' + EXAM_REQUEST_ID; >> else < jQuery('#exam-time-left').val(hours + ':' + minutes + ':' + seconds); setTimeout('updateExamTimer()', 1000); >>
checknet js (jquery plugin)
(function(b) < b.fn.checknet = function(a) < function c() < window.checknet.windowIsActive = document.hidden || document.mozHidden || document.webkitHidden || document.msHidden ? !1 : !0 >function d(a) < window.checknet.windowIsActive && b.ajax(< url: a, cache: !1, type: "HEAD" >).done(function() < window.checknet.conIsActive = !0 >).fail(function() < window.checknet.conIsActive = !1 >).always(function() < window.checknet.conIsActive ? (b("#netWarn").length && b("#netWarn").fadeOut("fast", function() < b(this).remove() >), b(".tempDisabled").removeAttr("disabled").removeClass("tempDisabled")) : (b("#netWarn").length || (b("body").prepend('' + window.checknet.config.warnMsg + "
"), b("#netWarn").fadeIn("fast")), b('input[type="button"]').attr("disabled", "disabled").addClass("tempDisabled")) >); setTimeout(function() < d(window.checknet.config.checkURL) >, window.checknet.config.checkInterval) > a = a || <>; a.checkURL = a.checkURL || window.location.href; a.checkInterval = a.checkInterval || 5E3; EXAM_TIME_LEFT +=1; a.warnMsg = a.msg || "Tizim tarmoqdan uzildi. Balki internetinigz o'chgandir? Ushbu yozuv yo'qolganiga qadar, testdan foydalanmang!. "; - 1 === a.checkURL.indexOf("http") && (a.checkURL = "http://" + a.checkURL); window.checknet = < windowIsActive: !0, conIsActive: !0, config: a >; "undefined" !== typeof document.hidden ? document.addEventListener("visibilitychange", c) : "undefined" !== typeof document.webkitHidden ? document.addEventListener("webkitvisibilitychange", c) : "undefined" !== typeof document.mozHidden ? document.addEventListener("mozvisibilitychange", c) : "undefined" !== typeof document.msHidden && document.addEventListener("msvisibilitychange", c); d(window.checknet.config.checkURL) > >)(jQuery);
- Вопрос задан более трёх лет назад
- 1800 просмотров
Как остановить таймер js
Откуда программа знать будет, когда мне надо таймер остановить? Нашёл ответ у господина Трепачёва Д.
09 августа 2022
Для отметы таймера, запущенного с помощью setTimeout() , есть специальная функция clearTimeout() . Она принимает на вход идентификатор таймаута, который возвращает setTimeout() и останавливает таймер (переданный колбэк не выполнится).
// запускаем таймер const timerId = setTimeout(() => console.log('hello!'), 1000); // останавливаем таймер clearTimeout(timerId);
Для отмены интервала, запущенного с помощью setInterval() , есть схожая функция clearInterval()
// запускаем интервал const timerId = setInterval(() => console.log('hello!'), 1000); // останавливаем clearInterval(timerId);
Не смотря на то, что функции clearTimeout() и clearInterval() , рабоают схожим образом и взаимозаменяемы, всё же лучше использовать каждую функцию по своему назначению, то есть с помощью clearTimeout() останавливать таймаут, а clearInterval() останавливать интервал.
Как остановить время на сайте? При прохождения теста на сайте, идет время, можно ли как-то остановить?
Смотря как сделали таймер. Если простым скриптом, то по идее можно. Если же тест более серьезный, то наверняка фиксируется дата-время начала, тогда вы ничего не сделаете.
carpe diemГуру (3444) 8 лет назад
А есть какие либо способы? Может подскажите?
dim565 Искусственный Интеллект (423757) Не в курсе. Надо находить скрипт таймера, изучать как он работает, находить способ остановки и т. п. Везде по разному
Остальные ответы
ломаешь сервак, откатываешь время
