Переделка скрипта clickunder в tabunder

D
На сайте с 12.01.2015
Offline
76
293

Приветствую, нашел на просторах Интернета код clickunder (сам код ниже). Просьба помочь переделать его в tabunder или, попросту говоря, переделать механизм открытия новой вкладки при клике НЕ ПОВЕРХ страницы, на которой находился пользователь, а ПОД НЕЙ.

var params = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes"
function PopShow3() {
CookieTest=navigator.cookieEnabled;
if(CookieTest)
{
ClickUndercookie = GetCookie('clickunder');
if (ClickUndercookie == null)
{
var ExpDate = new Date ();
ExpDate.setTime(ExpDate.getTime() + (24 * 60 * 60 * 1000));
SetCookie('clickunder','1',ExpDate, "/");
window.open("адрес сайта", "название вкладки", params);
window.focus();
}
}
}
function GetCookie (name) {
var arg = name + "=";
var alen = arg.length;
var clen = document.cookie.length;
var i = 0;
while (i < clen) {
var j = i + alen;
if (document.cookie.substring(i, j) == arg)
return getCookieVal (j);
i = document.cookie.indexOf(" ", i) + 1;
if (i == 0) break;
}
return null;
}
function SetCookie (name, value) {
var argv = SetCookie.arguments;
var argc = SetCookie.arguments.length;
var expires = (argc > 2) ? argv[2] : null;
var path = (argc > 3) ? argv[3] : null;
var domain = (argc > 4) ? argv[4] : null;
var secure = (argc > 5) ? argv[5] : false;
document.cookie = name + "=" + escape (value) +
((expires == null) ? "" : ("; expires=" + expires.toGMTString())) +
((path == null) ? "" : ("; path=" + path)) +
((domain == null) ? "" : ("; domain=" + domain)) +
((secure == true) ? "; secure" : "");
}
document.onmouseup=PopShow3;


Asmin
На сайте с 25.07.2021
Offline
57
#1

Как говорит шайтан машина -

Для того чтобы переделать ваш текущий скрипт в "tabunder", который открывает новую вкладку под текущей страницей, вам нужно внести несколько изменений. Ваш текущий скрипт использует window.open() для открытия новой вкладки и затем сразу же переводит фокус на текущее окно с помощью window.focus() . Для создания "tabunder" вам нужно изменить порядок этих действий и внести некоторые дополнительные корректировки.

Вот обновленный код:

var params = "menubar=yes,location=yes,resizable=yes,scrollbars=yes,status=yes";

function PopShow3() {
    CookieTest = navigator.cookieEnabled;
    if (CookieTest) {
        ClickUndercookie = GetCookie('clickunder');
        if (ClickUndercookie == null) {
            var ExpDate = new Date();
            ExpDate.setTime(ExpDate.getTime() + (24 * 60 * 60 * 1000));
            SetCookie('clickunder', '1', ExpDate, "/");

            // Сохраняем ссылку на текущее окно
            var currentWindow = window;

            // Открываем новую вкладку
            var newTab = window.open("адрес сайта", "название вкладки", params);

            // Переводим фокус на текущее окно
            if (newTab) {
                newTab.blur();
            }
            currentWindow.focus();
        }
    }
}

// Функции GetCookie и SetCookie остаются без изменений

document.onmouseup = PopShow3;

В этом коде, сначала открывается новая вкладка, а затем фокус возвращается на текущее окно. Это должно создать эффект "tabunder", когда новая вкладка открывается в фоновом режиме.

Обратите внимание, что такой подход может не сработать во всех браузерах одинаково, так как современные браузеры часто имеют встроенные механизмы для борьбы с нежелательными всплывающими окнами и вкладками. Вам может потребоваться тестировать и возможно адаптировать этот код для работы в разных браузерах.



D
На сайте с 12.01.2015
Offline
76
#2
Затестил, к сожалению, указанные изменения не привели к нужному результату(
D.iK.iJ
На сайте с 26.05.2013
Offline
225
#3

А можно я просто свой код для попaндера приведу?

<script>
/* Если нет куки, показываем ссылку */
if(document.cookie.indexOf("SetRedd") == -1) {
/* Ссылка на новое окно - ниже */
document.write('<a href="#" id="reddlink" onclick="redd();" target="_blank" style="position: absolute; z-index: 99999; top: 0px; left: 0px; width: 100%; height: 100%; cursor: default; box-sizing: border-box;"></a>');
}
/* Переадресация */
function redd() {
SetCookie2('SetRedd=on', '365'); /* Куки SetRedd на 365 дней */
setTimeout(function() {
window.location.href = 'https://ССЫЛКА-НА-САЙТ.РУ/'; /* ССЫЛКА */
}, 10);
}
/*Функция для куки - не трогаем */
function SetCookie2(id, days){
var ws=new Date();
ws.setDate((days-0+ws.getDate()));
document.cookie=id+"; path=/; expires="+ws.toGMTString();
}
</script>

Пример работы, где область нажатия уменьшена до кнопки (ради безопасности).  Понимаю, что не совсем именно  "tabunder". Но оно работает довольно логично и (вроде даже) стабильно. А эффект примерно такой же. При быстром соединении кажется, что страница просто обновилась.

Нет вот этого странного с открытием нового окна и перемещением фокуса... я вообще подозреваю, что современные браузеры это не очень-то и позволят.

D.iK.iJ / JavaScript примеры / Скрипт PopUnder, Pop-Under или backscreen для показа рекламируемой страницы за текущей
  • dikij.com
PopUnder ( попандер ) – это формат рекламы, открывающейся в новом окне за просматриваемой страницей. И да, этот формат всех бесит ! Но если внезапно открывающиеся в новом окне баннеры пользователь уже научен закрывать быстро, то подобная реклама путает посетителя и успевает загрузиться. В скрипте область клика невидимая и растянута на весь...
Адаптивный дизайн в 2 строчки ( https://dikij.com/wm/adaptaciya-saytov.php ). + Принимаю заказы любой сложности ( https://searchengines.guru/ru/forum/926323 ). 💎 Еще я делаю классные кулоны с опалами ( https://mosaicopal.ru/ ).
W1
На сайте с 22.01.2021
Offline
285
#4
Delbud :
механизм открытия новой вкладки при клике НЕ ПОВЕРХ страницы, на которой находился пользователь, а ПОД НЕЙ

А смысл? Не будет же виден новый контент без дополнительных телодвижений.

Мой форум - https://webinfo.guru –Там я всегда на связи
D
На сайте с 12.01.2015
Offline
76
#5
webinfo #:

А смысл? Не будет же виден новый контент без дополнительных телодвижений.

Смысл довольно прост. Кликандер уводит пользователя сразу на сторонний сайт, что мешает посетителю закончить действие, которое он планировал, поэтому открытая страница в 80%+ случаев нарывается на отказ. Если рекламный контент открывается ПОД страницей, на которой пользователь выполняет задачи, то фокус внимания больше, так как рекламный контент "появится" после закрытия целевой страницы. 

В моем случае мне это нужно для переливки трафика на сайт идентичной тематики, так как пользователи достаточно часто открывают сразу несколько вкладок ТОПа, понимая, что ТОП-1 не всегда закроет запрос. Учитывая, что все домены открытых сайтов пользователь не запомнит, то он может воспринять рекламный домен, как один из тех, что он открыл сам, соответственно, реализовать хорошие ПФ.

D
На сайте с 12.01.2015
Offline
76
#6
D.iK.iJ #:

А можно я просто свой код для попaндера приведу?

Пример работы, где область нажатия уменьшена до кнопки (ради безопасности).  Понимаю, что не совсем именно  "tabunder". Но оно работает довольно логично и (вроде даже) стабильно. А эффект примерно такой же. При быстром соединении кажется, что страница просто обновилась.

Нет вот этого странного с открытием нового окна и перемещением фокуса... я вообще подозреваю, что современные браузеры это не очень-то и позволят.

Да, спасибо, принцип работы как мне нужен, необходимо будет только проверить еще с мобильного устройства. Вопрос только, как это сделать при любом клике на странице, а не только по конкретной кнопке?

D.iK.iJ
На сайте с 26.05.2013
Offline
225
#7
Delbud #:
при любом клике на странице, а не только по конкретной кнопке?

Я же специально выделил этот момент. ))) В скрипте ВЫШЕ открывается при любом клике на странице. А у себя на сайте я сделал кнопку, чтобы случайно под какие-то санкции от поисковиков не попасть.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий