<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);
document.addEventListener('mouseup', e => {
if (e.target.closest('<здесь селектор блока для средней кнопки>') && e.button === 1) {
const id = '<здесь откуда-то достаём C2HT23fic0w>'
window.open(`https://www.instagram.com/p/${id}`, '_blank');
}
}, true);
window.open
и надеяться, что код использует для открытия именно его:function normalize(href) {
return Object.assign(document.createElement('a'), { href }).href;
}
window.open = ((open) => function(url, target, ...rest) {
const [path, id, more] = normalize(url).split('/').slice(3);
if (!more && !target && path === 'p' && id)
target = '_blank';
return open.call(this, url, target, ...rest);
})(window.open);
@loaded
, которое в каждом случае будет уникальным для компонента, зависящим от внутренней логики.const currentPageNumbers = useMemo(() => pageNumbers.slice(first, second), [first, second]);
useEffect(() => {
console.log(currentPageNumbers);
}, [currentPageNumbers])
{currentPageNumbers.map((number: number) => (
<button className={cl[`elem`]} key={number} onClick={() => paginate(number)} >{number}</button>
))}
FROM <указание на преднастроенную сборку>
. Если там не что-то очевидное-одноложное типа nginx-alpine\nodejs-alpine, тупо гуглишь, находишь Dockerfile и исполняешь предварительно команды оттуда:).