jQuery(document).ready(function() {
jQuery('a[href="#commentstatusdiv"]').one('click', async function() {
do {
await new Promise(function(s) { setTimeout(s, 1000); });
jQuery('a[href="#commentstatusdiv"]').click();
console.log('Был выполнен клик');
} while (jQuery('a[href="#commentstatusdiv"]').length > 0);
console.log('Ссылка пропала, циклические клики по ней прекращены');
});
});
document.querySelector('div[contenteditable="true"]').addEventListener('input', function() {
if (this.innerHTML != this.innerText) {
this.innerHTML = this.innerText;
var range = document.createRange();
range.selectNodeContents(this);
range.collapse(false);
var sel = window.getSelection();
sel.removeAllRanges();
sel.addRange(range);
}
});
Подскажите в какую сторону думать и как решить эту проблему?
async function sample(arr) {
for (var i = 0; i < arr.length; i++) {
try {
var result = await $.ajax({
url: '...',
dataType: 'jsonp',
type: 'GET',
delay: 250,
data: { q: arr[i] }
});
if (result) {
console.log('Получен ответ:');
console.dir(result);
}
else {
console.log('Получен пустой ответ:');
console.dir(result);
console.log('Прерываем цикл...');
break;
}
}
catch (err) {
console.log('Ошибка:');
console.error(err);
console.log('Прерываем цикл...');
break;
}
}
}
async function downloadFiles(links) {
for (var n = 0; n < links.length; n++) {
try {
var blob = await (await fetch(links[n])).blob();
var blob_url = URL.createObjectURL(blob);
var blob_name = new URL(links[n]).pathname.split('/').pop();
var a = document.createElement('a');
a.style.display = 'none';
a.href = blob_url;
a.setAttribute('download', blob_name);
document.body.appendChild(a);
a.click();
console.log('Файл '+links[n]+' скачан');
// Делаем задержку на 2 секунды:
await new Promise(function(s) {
setTimeout(s, 2000);
});
URL.revokeObjectURL(blob_url);
}
catch(err) {
console.log('Ошибка, не удалось скачать файл ' + links[n]);
console.erroe(err);
// Делаем задержку на 2 секунды:
await new Promise(function(s) {
setTimeout(s, 2000);
});
}
}
console.log('Загрузка файлов завершена!');
}
downloadFiles([
'https://i.imgur.com/X92aA5Y.jpeg',
'https://i.imgur.com/X92aA5Y.jpeg',
'https://i.imgur.com/X92aA5Y.jpeg'
]);
"all_frames": true
(пример ниже){
"name" : "Имя расширения",
"manifest_version" : 2,
// ...
"content_scripts" : [
{
"matches" : [ "https://*.mysite.ru/*" ],
"run_at": "document_start",
"js" : [ "content.js" ],
"all_frames": true
}
]
}
if (window.top != window) {
console.log('Это фрейм!');
}
else {
console.log('Это не фрейм!');
}
body: new URLSearchParams({ test: 'LOL+ggggg' }).toString(),
async function send(obj) {
var response = await (await fetch('./src/database/userService/user.php', {
body: new URLSearchParams(obj).toString(),
cache: 'no-cache',
headers: { 'Content-type': 'application/x-www-form-urlencoded; charset=UTF-8' },
method: 'POST',
mode: 'cors'
})).text();
console.log('Ответ сервера:', response);
}
send({ test: 'LOL+ggggg' });
...
"content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'"
...
jQueryDownload(); // Запускаем загрузку jQuery
// Функция для загрузки jQuery:
async function jQueryDownload() {
// Загружаем библиотеку jQuery как текст с оф. сайта и записываем в переменную code:
var code = await (await fetch('https://code.jquery.com/jquery-3.6.0.min.js')).text();
// Выполняем код:
window.eval(code);
}
jQueryDownload(); // Запускаем загрузку jQuery
// Функция для загрузки jQuery:
async function jQueryDownload() {
// Загружаем библиотеку jQuery как текст с оф. сайта и записываем в переменную code:
var code = await (await fetch('https://code.jquery.com/jquery-3.6.0.min.js')).text();
// Выполняем код:
window.eval(code);
// Запуск своего кода:
$(startMyJavaScriptCode);
}
// Функция уже со своим кодом:
function startMyJavaScriptCode() {
// ...
console.log('Запуск своего кода');
// ...
}