$.ajax({
xhr: function() {
var xhr = new window.XMLHttpRequest();
xhr.addEventListener("progress", function(evt) {
if (evt.lengthComputable) {
var percentComplete = evt.loaded / evt.total;
//Do something with download progress
}
}, false);
return xhr;
},
type: 'POST',
url: "/",
data: {},
success: function(data){
//Do something on success
}
});
const loadScript = (url) => (
new Promise((resolve, reject) => {
const script = document.createElement('script');
script.src = url;
script.onload = () => resolve(script);
script.onerror = () => reject(new Error(`Ошибка загрузки скрипта ${src}`));
document.head.append(script);
})
);
loadScript('../node_modules/jquery/dist/jquery.min.js')
.then(() => {
// Теперь когда jQuery подключен, можно подключить сам Bootstrap.js и svg-pan-zoom
// Можно паралельно грузить, так как они не зависят друг от друга
return Promise.all([
loadScript('../node_modules/bootstrap/dist/js/bootstrap.min.js'),
loadScript('../node_modules/svg-pan-zoom/dist/svg-pan-zoom.min.js')
]);
})
.then(() => {
console.log('Все скрипты загружены');
svgPanZoom('#wsr_map', {
zoomEnabled: true,
controlIconsEnabled: true,
fit: true,
center: true
});
})
let icon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAAnUlEQVR42u3bMQ7AIAgAQP//afuE1hSw1CNhccFcIoPimHOOk3MAAADgLrNiVx0AAAC8A8hqSFF1AFQBZB+B1ToAAADYC5DVBKPWAVQBZB8BAAAA9AI4vgkCeLgxAAAAAAAAAAAAAAAAAAAAAAAAAAAAuBQF4GEEAAAA3QBMiJwKsBoAAADoDVA1LA3gawBRAQAAgB4Afo4CAPDfvABS2dwbcpzXlAAAAABJRU5ErkJggg==';
const iconBuffer = Buffer.from(icon.replace('data:image/png;base64,', ''), 'base64');
context.sendPhoto(iconBuffer, {message: `test`});
const conversations = new Map([
[3, 'test']
]);
async function updateChatTitle() {
for (const [chatId, title] of conversations) {
try {
await vk.api.messages.editChat({
chat_id: chatId,
title: title
});
} catch (error) {
console.error(`Could not update conversation name ${chatId}`, error);
}
}
setTimeout(updateChatTitle, 1000);
}
updateChatTitle();