найти позиции (начало и конец) выделенного текста.
window.getSelection();
new Blob([new ArrayBuffer(2*1024**3)]); // Uncaught RangeError: Array buffer allocation failed
new Blob([new ArrayBuffer(2*1024**3 - 2*1024**2)]); // OK
new Blob([new Uint8Array(500*1024*1024)]);
const ui8a = new Uint8Array(500*1024*1024);
for (let i = 0; i < ui8a.length; i++) {
ui8a[i] = Math.trunc(Math.random()*256);
}
const blob = new Blob([ui8a], {type: "application/octet-stream"});
chrome://flags/#enable-experimental-web-platform-features
ReadableStream
как Request.body
xhr.send(data);
и по очереди:// сначала ты
xhr.upload.onprogress // загрузка на сервер
xhr.upload.onload // загрузка на сервер завершена
// потом сервер
xhr.onreadystatechange // xhr.readyState === 2 // HEADERS_RECEIVED // получены заголовки ответа (и только)
xhr.onreadystatechange // xhr.readyState === 3 // LOADING // загрузка ответа сервера
xhr.onprogress // загрузка ответа сервера
xhr.onreadystatechange // xhr.readyState === 4 // DONE
xhr.onload // загрузка ответа сервера завершена
import gallery from '/gallery-items.js';
import gallery from './gallery-items.js';
await (await fetch("https://kolesa.kz/analytics/?mark=7&model=15&year=2007&id=108617007")).text()
'Access-Control-Allow-Origin':'*'
mode: 'no-cors'
Fetch запрос возвращает пустой результат
Response
c type: "opaque"
. document.querySelector("#top_audio_player").dispatchEvent(new MouseEvent("mousedown"));
// Второй пример:
Promise.resolve("A__2")
.then(message => {console.log(message); return "B__2"})
.then(message => {console.log(message); return "C__2"})
.then(message => {console.log(message); return "D__2"})
.then(message => {console.log(message);});
// Первый пример (да, вот так это должно выглядеть):
function* messageGenerator() {
yield Promise.resolve("A");
yield Promise.resolve("B");
yield Promise.resolve("C");
yield Promise.resolve("D");
}
for (const messagePromise of messageGenerator()) {
messagePromise.then(message => console.log(message + "1"));
}
A__2
A1
B1
C1
D1
B__2
C__2
D__2
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/core.min.js
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/x64-core.min.js
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/sha3.min.js
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/4.0.0/crypto-js.min.js
const img = document.createElement("img");
img.src = URL.createObjectURL(await (await fetch("https://i.imgur.com/h2dIbBN_d.jpg")).blob());
document.querySelector("body").prepend(img);
Access-Control-Expose-Headers: <header-name>, <header-name>
Access-Control-Expose-Headers: *
.