{
let controller = new AbortController();
let i = 0;
async function updateMessages() {
const index = i++;
console.log(index, 'started updateMessages');
controller.abort();
console.log(index, 'abort called for previous AbortController');
controller = new AbortController();
controller.signal.addEventListener('abort', () => {
console.log(index, 'aborted')
});
console.log(index, 'created new AbortController');
console.log(index, 'requset start');
let response = await fetch("http://localhost:3000/messages", {signal: controller.signal});
console.log(index, 'requset headeers fetched');
let messages = await response.json();
console.log(index, 'requset json fetched');
counter = messages.length;
console.log(index, 'counter set');
let container = document.getElementById("container");
container.innerHTML = "";;
console.log(index, 'innerHTML cleaned');
console.log(index, 'renderMessages calling');
renderMessages(messages);
console.log(index, 'renderMessages called');
}
updateMessages()
updateMessages()
updateMessages()
}
onMessageArrived
вместо console.log()
сделать вызов написанной тобой функции отрисоватьВПО()
. let value;
function onMessageArrived(message) {
console.log("onMessageArrived:"+message.payloadString);
value = "onMessageArrived:"+message.payloadString;
}
<script setup>
? Тогда тебе нужно будет использовать defineExpose
, чтобы сделать доступными методы извне. about:config
privacy.partition.network_state
false
let route_match_info = [];
JSON.parse = ((parse) => function() {
const parsed = parse.apply(this, arguments);
if (Array.isArray(parsed?.route_match_info)) // или типа того, скрин то обрезан
route_match_info = parsed.route_match_info;
return parsed;
})(JSON.parse);
document.addEventListener('mouseup', e => {
const block = e.target.closest('<здесь селектор блока для средней кнопки>');
if (block && e.button === 1) {
// здесь как-то сопоставляем block и элемент route_match_info, например по порядковому номеру или ещё как
const id = route_match_info.find(...).instanceParams.shortcode;
window.open(`https://www.instagram.com/p/${id}`, '_blank');
}
}, true);
JSON.parse = ((parse) => function() {
const parsed = parse.apply(this, arguments);
if (arguments[0]?.includes('C2HT23fic0w'))
console.log('JSON.parse', parsed);
return parsed;
})(JSON.parse);
В общем дичь ты написал.