Обучение/Помощь новичкам | Проблема с JS
Ниже JS код, который установлен на сайте site.com, проблема в том, что при клике открывается ещё одно окно в браузере кроме окна с site2.com, например, я на главной странице, нажимаю на ссылку site.com/info и у меня переход в этот раздел в новом окне, нужно чтобы открывался не в новом окне. Как это исправить?
Так же, как сделать, чтобы этот код сработал не сразу, а например через 5сек. серфинга по сайту?
Так же, как сделать, чтобы этот код сработал не сразу, а например через 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