Обучение/Помощь новичкам | Проблема с JS
Ниже JS код, который установлен на сайте site.com, проблема в том, что при клике открывается ещё одно окно в браузере кроме окна с site2.com, например, я на главной странице, нажимаю на ссылку site.com/info и у меня переход в этот раздел в новом окне, нужно чтобы открывался не в новом окне. Как это исправить? Так же, как сделать, чтобы этот код сработал не сразу, а например через 5сек. серфинга по сайту?
javascript
var purl = 'https://site2.com'; var puMin = 10; var puTS = Math.round(+new Date()/1000); var puHasStorage = function (type) { try { var storage = window[type]; var x = '__storage_test__'; storage.setItem(x, x); storage.removeItem(x); return true; } catch (e) { return false; } return false; } var puHandler = function (e) { localStorage.puTS = puTS; var pu_new_window = window.open(location.href); var code = 'window[window.addEventListener?"addEventListener":"attachEvent"]("DOMContentLoaded",scrollBc);var timeout_id=setTimeout(scrollBc,4444);'; code += 'function scrollBc(){try{window.scrollTo(SX,SY)}catch(i){}clearTimeout(timeout_id)}'; code = code.replace('SX', Math.round(window.scrollX)).replace('SY', Math.round(window.scrollY)) pu_new_window.eval(code); location.href = puURL; e.preventDefault(); pu_new_window.focus(); return false; }; if (puHasStorage('localStorage') && (typeof localStorage.puTS == 'undefined' || parseInt(localStorage.puTS) <= (puTS - (puMin * 60)))) { document.addEventListener ? document.addEventListener('click', puHandler, false) : document.attachEvent('onclick', puHandler); document.onclick = puHandler; } php
var purl = 'https://site2.com'; var puMin = 10; var puTS = Math.round(+new Date() / 1000); var puHasStorage = function (type) { try { var storage = window[type]; var x = '__storage_test__'; storage.setItem(x, x); storage.removeItem(x); return true; } catch (e) { return false; } return false; } var puHandler = function (e) { localStorage.puTS = puTS; var pu_new_window = window.open(location.href); var code = 'window[window.addEventListener?"addEventListener":"attachEvent"]("DOMContentLoaded",scrollBc);var timeout_id=setTimeout(scrollBc,4444);'; code += 'function scrollBc(){try{window.scrollTo(SX,SY)}catch(i){}clearTimeout(timeout_id)}'; code = code.replace('SX', Math.round(window.scrollX)).replace('SY', Math.round(window.scrollY)) pu_new_window.eval(code); location.href = puURL; e.preventDefault(); pu_new_window.focus(); return false; }; if (puHasStorage('localStorage') && (typeof localStorage.puTS == 'undefined' || parseInt(localStorage.puTS) <= (puTS - (puMin * 60)))) { setTimeout(function() { document.addEventListener ? document.addEventListener('click', puHandler, false) : document.attachEvent('onclick', puHandler); document.onclick = puHandler; }, 5000); } ________
посл. ред. 24.02.2023 в 12:40; всего 2 раз(а); by 779667185
Да
javascript
const purl = 'https://site2.com'; const puMin = 10; const puTS = Math.round(+new Date() / 1000); const puHasStorage = (type) => { try { window[type].setItem('__storage_test__', '__storage_test__'); window[type].removeItem('__storage_test__'); return true; } catch (e) { return false; } }; const puHandler = (e) => { const pu_new_window = window.open(purl); const code = ` window[window.addEventListener ? "addEventListener" : "attachEvent"]( "DOMContentLoaded", () => { try { window.scrollTo(${Math.round(window.scrollX)}, ${Math.round(window.scrollY)}); } catch (e) {} } ); setTimeout(() => { try { window.scrollTo(${Math.round(window.scrollX)}, ${Math.round(window.scrollY)}); } catch (e) {} }, 4444); `; pu_new_window.eval(code); setTimeout(() => { location.href = purl; }, 1000); e.preventDefault(); pu_new_window.focus(); return false; }; if (puHasStorage('localStorage')) { const lastVisit = parseInt(localStorage.puTS); if (isNaN(lastVisit) || lastVisit <= (puTS - (puMin * 60))) { localStorage.puTS = puTS; setTimeout(() => { document.addEventListener ? document.addEventListener('click', puHandler, false) : document.attachEvent('onclick', puHandler); document.onclick = puHandler; }, 5000); } } ________
посл. ред. 24.02.2023 в 13:10; всего 1 раз(а); by 779667185