var html = '<script src="server.com/someScriptName.js"></script><div class="someClass">Hello world</div>';
document.body.insertAdjacentHTML('beforeEnd', html); // Вставка перед </body>
// Берем первый попавшийся файл из поля input:
save_file = document.querySelector('input[type="files"]').files[0];
// И сохраняем в памяти браузера до востребования:
localforage.setItem('file', save_file, function(err, val) {
console.log('Файл успешно сохранен:');
console.dir(val);
});
<script src="localforage/dist/localforage.js"></script>
localforage.getItem('file', function(err, val) {
console.log('Ранее сохраненный файл:');
console.dir(val);
});
// Вытаскиваем файл из памяти и шлем на сервер:
localforage.getItem('file', function(err, val) {
// Адрес для отправки файла POST-ом:
var url = 'https://qna.habr.com/q/847927';
// Создаем форму в конструкторе:
var formData = new FormData();
// Добавляем наш файл в форму:
formData.append('file', val, val.name);
// Отправляем форму на сервер:
var xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
alert('Запрос выполнен успешно, ответ сервера: ' + xhr.responseText);
}
else {
alert('При выполнении запроса произошла неизвестная ошибка!');
}
}
}
xhr.send(formData);
});
const mouseClickEvents = ['mousedown', 'click', 'mouseup'];
function simulateMouseClick(element){
mouseClickEvents.forEach(mouseEventType =>
element.dispatchEvent(
new MouseEvent(mouseEventType, {
view: window,
bubbles: true,
cancelable: true,
buttons: 1
})
)
);
}
// Ищем диалог по номеру телефона:
var element = document.querySelector('span[title="+7 905 837-96-43"]');
simulateMouseClick(element); // Симулируем событие клика
// Ищем диалог с по номеру телефона:
dialog = document.querySelector('span[title="+7 905 837-96-43"]');
// Вызываем событие mousedown на найденном элементе:
dialog.dispatchEvent(
new MouseEvent('mousedown', {
bubbles: true
})
);
<?php
header('Content-Type: text/html; charset=utf-8');
$url = 'https://sms.ru/sms/send?api_id=0165484B-5891-4EA8-FD86-D4BB4A0A7CCA&to=79040601199&msg=Prvet+vsem&json=1';
echo file_get_contents($url);
// Пример функции для отправки файла в виде Blob на сервер:
function send_blob_to_server(blob, url) {
var formData = new FormData();
formData.append('file', blob, blob.name);
var xhr = new XMLHttpRequest();
xhr.open('POST', url);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
if (xhr.status === 200) {
alert('Запрос выполнен успешно, ответ сервера: ' + xhr.responseText);
}
else {
alert('При выполнении запроса произошла неизвестная ошибка!');
}
}
}
xhr.send(formData);
}
// Для использовани функции первым параметром передаете Blob,
// а вторым параметром адрес куда надо отослать ваш Blob:
send_blob_to_server(audioBlob, 'https://qna.habr.com/q/846401');
$(document).on('submit', '#commentform', function(e) {
e.preventDefault();
var filter = $(this);
$.ajax({
url: filter.attr('action'),
data: filter.serialize(),
type: filter.attr('method'),
success: function(data) {
$('#review-thanks').addClass('active');
},
error: function() {}
});
});
// По готовности страницы, вешаем на форму обработчик onsubmit инлайново:
document.addEventListener('DOMContentLoaded', function() {
document.querySelector('form#commentform').setAttribute('onsubmit', 'event.preventDefault(); form_send(this);');
});
// Функция для отправки формы на чистом JavaScript:
function form_send(form) {
form.setAttribute('onsubmit', 'event.preventDefault();');
var url = form.getAttribute('action') + '?nocache=' + new Date().getTime();
var xhr = new XMLHttpRequest(); xhr.open('POST', url);
xhr.onreadystatechange = function() {
if (xhr.readyState === XMLHttpRequest.DONE) {
form.setAttribute('onsubmit', 'event.preventDefault(); form_send(this);');
if (xhr.status === 200) {
document.querySelector('#review-thanks').classList.add('active');
alert('Форма успешно отправлена, ответ сервера: ' + xhr.responseText);
}
else {
console.log('При отправке формы произошла ошибка, ниже объект с деталями ошибки:');
console.dir(xhr);
alert('При отправке формы произошла ошибка, детали смотрите в консоли.');
}
}
}
xhr.send(new FormData(form));
}