environment
(или другими способами), доступно внутри контейнера по тем же самым именам. var cnt = 3;
var num = 8;
console.log(Array.from({ length: cnt }).map(() => num).join` + `);
.map(() => num)
писать .fill(num)
Array.from({ length: cnt })
можно писать так new Array(cnt)
var cnt = 3;
var num = 8;
console.log(new Array(cnt).fill(num).join` + `);
' + 8'.repeat(3)
// получится строка " + 8 + 8 + 8"
div {
width: 0px;
height: 0px;
padding: 0;
border: none;
}
div:after {
content: '';
position: absolute;
width: 0px;
height: 0px;
border-top: 200px solid transparent;
border-bottom: 200px solid transparent;
border-right: 360px solid #00FF00;
}
<meta name="bitrix_sessid" content="abcd1234">
<input type="hidden" name="sessid" id="sessid" value="abcd1234">
// Если используется мета-тег
const bitrixSessid = document.querySelector('meta[name="bitrix_sessid"]').content;
// Если используется скрытый input
const bitrixSessid = document.querySelector('input[name="sessid"]').value;
const cookies = document.cookie.split('; ').reduce((acc, cookie) => {
const [key, value] = cookie.split('=');
acc[key] = value;
return acc;
}, {});
const bitrixSessid = cookies['bitrix_sessid'];
<script>
window.bitrixSessid = '<?= bitrix_sessid() ?>';
</script>
console.log(window.bitrixSessid)
ini_set('error_reporting',E_ALL); ini_set('display_errors', 1);
btn.addEventListener('click' e=>{
const modal = e.target.closest('.modal[data-modal=cart]');
});
/<[^<>]+>/
$('#display').html('<a href="#" onclick="$.ajaxCall(\'app.screenChange\', \'appID={app:id}&page=1\', \'GET\'); return false;">Go</a>');
$('#display').html("<a href='#' onclick=\"$.ajaxCall('app.screenChange', 'appID={app:id}&page=1', 'GET'); return false;\">Go</a>");
'metadata' => [
'BX_PAYMENT_NUMBER' => $paymentNumber, - номер платежа
'BX_PAYSYSTEM_CODE' => 12, -айди юкасса
'BX_HANDLER' => 'YANDEX_CHECKOUT',
'cms_name' => 'api_1c-bitrix',
],
<input type="number" step="0.00000001" id="numberInput" />
<script>
const input = document.getElementById("numberInput");
input.addEventListener("input", () => {
const value = parseFloat(input.value);
if (!isNaN(value)) {
input.value = value.toFixed(8); // Форматируем до 8 знаков после запятой
}
});
</script>
let response;
async function fetchData(request) {
try {
response = await Promise.race([
fetch(request),
new Promise((_, reject) => setTimeout(
() => reject(new Error('Timeout')), 500, // 0.5 секунды
)),
]);
}
catch (e) {
// Ошибка с таймаутом
if (e.message === 'Timeout' || e.message === 'Network request failed') {
console.log('Проблемы с интернетом!');
}
// Прочие ошибки
else {
throw e;
}
return;
}
try {
// Преобразуем результат запроса в json
console.log(await response.json());
}
catch (e) {
console.log('Ошибка при парсинге json');
}
}
const request = new Request('https://jsonplaceholder.typicode.com/todos/1', {
method: 'GET',
});
fetchData(request);