¿Alquien tiene este SCRIPT?

  • Autor Autor ditable
  • Fecha de inicio Fecha de inicio
D

ditable

Zeta
Hola foro!

Estoy buscando un codigo que haga lo siguiente: cuando el usuario le da click en cualquier parte de la pagina web donde se ponga el codigo, que se abra una nueva pestaña con la web que indique en la web y esto se repita 1 vez por IP (creo que se llama body click a ese script)

y tambien igual pero ahora al hacer click, se haga redirect a la pagina que yo indique, estos dos codigos son los que os pediria

muchas gracias por la ayuda

- - - Actualizado - - -

hay alguien que conozca los scripts
 
Prueba con algo así:

Insertar CODE, HTML o PHP:
$('body').click(function() {
   window.location.href = "http://www.xvideos.com";
});
 
El código que pone el compañero serviría para el segundo caso, aunque depende de jQuery. Si quieres una versión sin dependencia de jQuery prueba con esto:
Insertar CODE, HTML o PHP:
document.querySelector('body').addEventListener('click', function() {
    window.location.href = "http://www.xvideos.com";
});

Aunque no tendría en cuenta la IP. Ahí es donde está el reto.
Para poder hacerlo en función de la IP necesitarías guardar en el servidor una relación de las IPs y la fecha y hora en la que entraron.

Sin embargo, ese tipo de control solo es necesario para "proteger" algo de los ojos del usuario, bloquear a un usuario, o darle un tipo de premio por visita única. Si el caso es a la inversa, para no volverlo a molestar (entiendo que como este caso) se pueden utilizar otros mecanismos como las cookies o el localstorage.

Una solución válida siguiendo esa estrategia aplicada al primer caso sería esta:

Insertar CODE, HTML o PHP:
(function() {
    'use strict';
    if (!window.localStorage.alreadyVisited) {
        window.localStorage.setItem('alreadyVisited', true);
        document.querySelector('body').addEventListener('click', function() {
            window.open('http://www.xvideos.com', '_blank');
        });
    }
})();

Te comento un poco el código, aunque creo que más o menos se entiende.

Lo primero de todo, la función esa rara de fuera que lo envuelve todo:
Insertar CODE, HTML o PHP:
(function() {
    'use strict';
    ...
})();

A eso se le llama IIFE (significa Inmediatly Invoked Function Expression y se pronuncia AIFI). Hace que todo lo que hagas o declares pase en un ámbito (scope) cerrado, de forma que todas las variables que declares sean locales y la memoria usada por el script se destruya en cuanto ya no sea necesaria, además de algunas otras ventajas. IIFE: Expresion de funcion ejecutada inmediatamente - Glosario | MDN
El 'use strict' es un añadido, hace que el código javascript dentro de esa función se comporte como un lenguaje de programación en condiciones y no haga las cosas raras típicas de javascript.

Luego tenemos:
Insertar CODE, HTML o PHP:
if (!window.localStorage.alreadyVisited) {
    window.localStorage.setItem('alreadyVisited', true);
    ...
}

Este código primero accede al localStorage (un almacen de datos local con un comportamiento similar a las cookies) a través del objeto window y comprueba el valor de la propiedad alreadyVisited.

- Si es false o no existe, el código dentro del bloque se ejecutará. Este sería el caso en el que el usuario no ha visitado la página antes, o si lo ha hecho no ha llegado a hacer click en ningún sitio.
- Si el valor es true, el script finalizará sin hacer nada. Este sería el caso en el que el usuario ya ha pinchado en el body de la página alguna vez.

Si el valor es false y se ejecuta el código interno del bloque IF, se pone el valor de alreadyVisited en localStorage a true, utilizando el método .setItem(key, value).

Finalmente tenemos el código encargado de abrir la nueva pestaña:

Insertar CODE, HTML o PHP:
document.querySelector('body').addEventListener('click', function() {
    window.open('http://www.xvideos.com', '_blank');
});

Lo que hace es buscar el elemento body de la página utilizando el método .querySelector(cssSelector) del objeto document. Este método junto con .querySelectorAll(cssSelector) (para devolver varios elementos) hacen exactamente lo mismo que el mítico $(cssSelector) de jQuery a la hora de buscar objetos en el DOM.
Una vez tenemos el objeto se le añade una escucha al evento de click con el método .addEventListener(event, callbackFunction) de forma que se abra una nueva pestaña usando el metodo .open(url, target) de window con '_blank' como valor para el parámetro target.
 
Última edición:
Atrás
Arriba