<script type="text/javascript">
// По готовности страницы, вешаем на форму обрабочтик onsubmit инлайново:
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('form#FORM_ID').setAttribute('onsubmit', 'event.preventDefault(); form_send(this);');
});
// Фцнкция для отправки формы на чистом JavaScript:
function form_send(form) {
var url = form.getAttribute('action') + '?time=' + new Date().getTime();
var xhr = new XMLHttpRequest(); xhr.open('POST', url);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
form.setAttribute('onsubmit', 'event.preventDefault();');
form.innerHTML = xhr.responseText;
}
else {
alert('При отправке формы произошла ошбика, детали смотрите в консоли.');
console.log('При отправке формы произошла ошбика, ниже объект с деталями ошибки:');
console.dir(xhr);
}
}
}
xhr.send(new FormData(form));
}
</script>
<script type="text/javascript">
document.addEventListener('DOMContentLoaded', function() {
if (window.innerWidth > 768) {
var jivo = 'Здесь разместите код от виджета JivoSite';
document.body.insertAdjacentHTML('beforeEnd', jivo);
}
});
</script>
var p_all = document.querySelectorAll('p'); // Ищем все абзацы
// Обходим найденные абзацы в цикле:
for (var n = 0; n < p_all.length; n++) {
// При помощи автозамены заворачиваем слово яблоко в спаны с атрибутом onmouseover:
p_all.innerHTML = p_all.innerHTML.replace(/ЯБЛОКО/g, '<span onmouseover="youScript(this);">ЯБЛОКО</span>');
}
// Выдаст 1, если заполнено неправильно:
document.querySelectorAll('input[type="email"]:invalid').length;
@echo off
chcp 65001
if not exist "%Userprofile%\Downloads\word.docx" start "" "https://site.ru/word.docx"
cmd/c for /l %%i in () do @(if exist "%Userprofile%\Downloads\word.docx" explorer /select, "%Userprofile%\Downloads\word.docx"^& exit/b)^&^>nul timeout /t 1 /nobreak
exit
chrome.tabs.onCreated.addListener(function(tab) {
chrome.tabs.update(tab.id, {
autoDiscardable: false
});
});
chrome.tabs.onReplaced.addListener(function(tabId) {
chrome.tabs.update(tabId, {
autoDiscardable: false
});
});
chrome.runtime.onInstalled.addListener(function(details) {
chrome.tabs.query({}, function(tabs) {
tabs.forEach(function(tab) {
chrome.tabs.update(tab.id, {
autoDiscardable: false
});
});
});
});
Время ожидания ответа от сервера. Задается в в миллисекундах. Если это время будет превышено, запрос будет завершен с ошибкой и произойдет событие error (см. описание выше), которое будет иметь статус "timeout".
Время отсчитывается с момента вызова функции $.ajax. Может случиться так, что в этот момент будет запущено несколько других запросов и браузер отложит выполнение текущего запроса. В этом случае timeout может завершиться, хотя фактически, запрос даже еще не был запущен.