Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ANTIPUB LYCOS LE 21/06/04


Information sur la source

Catégorie :Trucs & Astuces Niveau : Débutant Date de création : 21/06/2004 Vu / téléchargé: 4 033 / 167

Note :
9,17 / 10 - par 6 personnes
9,17 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (13)
Ajouter un commentaire et/ou une note

Description

un js qui élimine la frame de droite de lycos, et les calques bleus en haut de page.
testé sous ie 5.5 et mozilla 1.1, marche pas sous konqueror.

 

Source

  • kclysoc.js
  • ----------------------------------------------------------------
  • function po()
  • {
  • if(!parent.document) return;
  • window.top.document.body.cols = "*,0";
  • resizeGoogleAdFrame=new Function ("");
  • }
  • function hs(c)
  • {
  • if(!document.getElementById(c)) return;
  • document.getElementById(c).style.visibility='hidden';
  • document.getElementById(c).style.width='0px';
  • document.getElementById(c).style.height='0px';
  • }
  • function kc()
  • {
  • hs('AD');
  • hs('ADIMG');
  • hs('ADHEAD');
  • hs('ADCLOSE');
  • }
  • var cpo=setInterval("po()", 1);
  • setTimeout("clearInterval(cpo)",501);
  • var tkc=setInterval("kc()",1);
  • setTimeout("clearInterval(tkc)",1001);
  • var ctkc=setInterval("kc()",10);
  • setTimeout("clearInterval(ctkc)",10001);
  • ----------------------------------------------------------------
  • a mettre au debut de toutes les pages html
  • et page php(apres session_start() et/ou setcookie).
  • ----------------------------------------------------------------
  • <script language="javascript" src="kclycos.js"></script>
  • ----------------------------------------------------------------
kclysoc.js
----------------------------------------------------------------
function po()
{
        if(!parent.document) return;
        window.top.document.body.cols = "*,0";
        resizeGoogleAdFrame=new Function ("");
}
function hs(c)
{
        if(!document.getElementById(c)) return;
        document.getElementById(c).style.visibility='hidden';
        document.getElementById(c).style.width='0px';
        document.getElementById(c).style.height='0px';
}
function kc()
{
        hs('AD');
        hs('ADIMG');
        hs('ADHEAD');
        hs('ADCLOSE');
}
var cpo=setInterval("po()", 1);
setTimeout("clearInterval(cpo)",501);
var tkc=setInterval("kc()",1);
setTimeout("clearInterval(tkc)",1001);
var ctkc=setInterval("kc()",10);
setTimeout("clearInterval(ctkc)",10001);
----------------------------------------------------------------

a mettre au debut de toutes les pages html
et page php(apres session_start() et/ou setcookie).
----------------------------------------------------------------
<script language="javascript" src="kclycos.js"></script>
----------------------------------------------------------------

Conclusion

En espérant que ca marche le plus longtemp possible.
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de kalachnikov le 21/06/2004 15:36:24

dans le source c est marqué kclysoc.js
je me suis trompé c est bien kclycos.js

signaler à un administrateur
Commentaire de kalachnikov le 21/06/2004 16:33:35

pour la frame de droite il s avère qu  il y a plus simple,
ca marche avec tous les navigateurs
voici la version modifié de kclycos.js
----------------------------------------------------------------
function hs(c)
{
        if(!document.getElementById(c)) return;
        document.getElementById(c).style.visibility='hidden';
        document.getElementById(c).style.width='0px';
        document.getElementById(c).style.height='0px';
}
function kc()
{
        hs('AD');
        hs('ADIMG');
        hs('ADHEAD');
        hs('ADCLOSE');
}
var tkc=setInterval("kc()",1);
setTimeout("clearInterval(tkc)",101);
var ctkc=setInterval("kc()",10);
setTimeout("clearInterval(ctkc)",10001);
if(top!=self) top.location=self.location;
----------------------------------------------------------------

signaler à un administrateur
Commentaire de james71 le 23/06/2004 15:43:25

ca marche pas avec le php

signaler à un administrateur
Commentaire de aze555666 le 29/06/2004 19:06:28

chez moi, derniere version d'ie, ca ne marche pas.
la pub en haut disparait, mais la frame lutte, ma page n'apparait pas, et se recharge tout le temps, avec un "?" en plus dans l'url et le titre à chaque fois. comme j'ai déja un code anti-frame, trouvé ici, et qui marche, pourrais tu m'indiquer quelle est la partie de ton code à supprimer pour qu'il ne serve plus qu'a supprimer la pub en haut? si apres ca marche, je met un 10.

signaler à un administrateur
Commentaire de aze555666 le 29/06/2004 19:16:53

correction: apres un 2eme essai, ca MAAAAAAAAAAARCHE!!!!!!!!!!!!!!
merci, kalachnikov!!!. au fait, james71, g essayé avec un page en .php, ca merche aussi. peut-etre qu'il faut que tu sorte l'apel au fichier js du code php, en ajoutant des balises html et body , puis la balise script avant le debut du code php, c a dire le "&lt;?"

au fait:je met 10

signaler à un administrateur
Commentaire de james71 le 30/06/2004 09:04:42

ca marche pas j'ai ca comme erreur :

Warning: Cannot modify header information - headers already sent by (output started at /data/members/free/multimania/fr/j/a/m/jamesjames71/htdocs/forum/index.php:3) in /data/members/free/multimania/fr/j/a/m/jamesjames71/htdocs/forum/includes/page_header.php on line 504

et j'ai mis ca en tete de ma page php :

&lt;html&gt;
&lt;body&gt;
&lt;script language="javascript" src="kclycos.js"&gt;&lt;/script&gt;
&lt;/body&gt;
&lt;/html&gt;
&lt;?

signaler à un administrateur
Commentaire de kalachnikov le 30/06/2004 12:46:27

si c est juste les calques du haut que vous voulez enlevez :

function hs(c)
{
        if(!document.getElementById(c)) return;
        document.getElementById(c).style.visibility='hidden';
        document.getElementById(c).style.width='0px';
        document.getElementById(c).style.height='0px';
}
function kc()
{
        hs('AD');
        hs('ADIMG');
        hs('ADHEAD');
        hs('ADCLOSE');
}
var tkc=setInterval("kc()",1);
setTimeout("clearInterval(tkc)",101);
var ctkc=setInterval("kc()",10);
setTimeout("clearInterval(ctkc)",10001);


explications... :
en haut de page, lycos insère 4 calques(AD, ADIMG, ADHEAD et ADCLOSE),
pour les voir disparaitre il faut normalement attendre 10 secondes.
le but est d etre sur de les faire disparaitre le plus tot possible apres avoir chargé la page.
le code comprend une fonction hs,
cette fonction permet de neutraliser un calque en général,
en le dimensionnant à 0 par 0, en le cachant, le tout si ce calque existe.
la fonction kc appel la fonction hs pour les 4 calques affichés par lycos.
La fonction kc est appelée grace à l instruction setInterval
cette instruction permet d appeler une fonction tous les x temps apres le chargement de la page.
Ici, pour les 100 premières millisecondes on appel la fonction kc(neutralisation des 4 calques),
toutes les 1 milliseconde.
puis(jusqu a 10 secondes apres le chargement de la page...)
on l appel plus que tous les 10 millisecondes.
L'instruction setTimeout permet de lancer une fonction une fois apres le chargement de la page, apres un temp x donne,
ici on désinitialise les setInterval(pour eviter que la page conserve des timers inutiles).






pour la frame de droite :

1 ERE METHODE(cherché trouvé par mes soins...)

function po()
{
        if(!parent.document) return;
        window.top.document.body.cols = "*,0";
        resizeGoogleAdFrame=new Function ("");
}
var cpo=setInterval("po()", 1);
setTimeout("clearInterval(cpo)",501);


explications... :
lycos encapsule votre page web dans une page contenant votre page web dans une frame a gauche,
et de la publicité dans une frame a droite(140 pixels de largeur).
une première idée aurait été de betement redimensionner la frame de droite a 0 pixels
(window.top.document.body.cols = "*,0";),
seulement ce n est pas possible car voila un extrait
de ce que lycos insère a la suite de votre page web:
function resizeGoogleAdFrame() {
window.top.document.body.cols = "*,140";
}
if (ad_frame == 1 && AD_clientWindowSize()) {
setInterval("resizeGoogleAdFrame()", 30);
}
en résumé, toutes les 30 millisecondes, lycos redimensionne la frame de droite,
toute tentative de redimensionnement devient donc un échec ou une lutte infinie.
(on note au passage le bourrinage effectué par lycos,
il ne faut pas s ettoner apres que les navigateurs ne tiennent pas toujours le choc...)
l'idée de mon code est de surcharger la fonction resizeGoogleAdFrame()
qui redimensionne la fenetre en la remplacant par du vide grâce a cette ligne
resizeGoogleAdFrame=new Function ("");
la fonction po()
fait rien si notre frame est la frame principale.
sinon elle redimensionne la frame de droite a 0,
surcharge la fonction resizeGoogleAdFrame en la vidant.
ceci est fait toutes les millisecondes pendant 500 millisecondes.


l inconvégnient c est que le navigateur konqueror
ne semble pas supporter le surchargement de fonction
(c est ptetre pas le seul),
en plus c est pas super propre comme méthode.



2 EME METHODE(trouvé sur plusieurs contributions de codes-sources,
'parait que ca vient de prizee.com) :

if(top!=self) top.location=self.location;


explication... :
ultra simple et ultra propre,
si votre page n est pas la frame principale,
votre page devient la frame principale

ATTENTION !
ceci doit etre inséré que si votre page est sensé etre la frame principale de votre site !

signaler à un administrateur
Commentaire de kalachnikov le 30/06/2004 12:50:41

pour les pages php,
bien verifier que l insertion javascript s effectue

APRES
session_start()


et APRES tous les
setcookie

signaler à un administrateur
Commentaire de kegi le 19/11/2004 22:46:50

Félicitation, 10/10

kevin (kegi@hotmail.com)

signaler à un administrateur
Commentaire de dr_einstein le 28/03/2005 19:38:58

j' arrive a faire marcher le code j utilise des frame


sa ne generai pas ?
je l'ai mis dans la page qui regroupe les frames

ps: faut bien le mettre avant <html>

signaler à un administrateur
Commentaire de vwdamien le 05/04/2005 13:44:37

Bonjour bonjour tout le monde, j'ai réussi à supprimer la frame de droite ms je n'arrive pas a supprimer celle d'en haut, qqn sait-il donner beaucoup de détail parce que je ne comprends pas. Si vous n'êtes pas membres ou si vous ne voulez pas poster de messages pour ça merci de m'ajouter a vos contact msn:

damien_vw@hotmail.com

merci à vous ++

signaler à un administrateur
Commentaire de jeune63000 le 16/04/2005 15:20:53

Perso moi j'ustilise un ptit mix de tous se que j'ai trouvé et ca a l'aire de marcher pour les sites muli frame (avec des frameSet)

Preuve => http://membres.lycos.fr/frederic63000/

En fait j'en ai chié pour trouver un code qui marche et sur IE et sur Firefox (les 2 navigateur les plus utilisé je pense)

A placer partout avant les FrameSet de la page principale (et dans les autres pages si il faut)

Moi perso je l'ai mis dans le Head avant les FrameSet et ca marche

Code:


<script language="javascript">
// Enleve les pub à la con de lycos
resizeGoogleAdFrame=new Function ("");
setCookie=new Function ("");

function kill_ad()
{
  ad_frame = 0;
  resizeGoogleAdFrame=new Function ("");
  setCookie=new Function ("");
  window.top.document.body.cols = "*,0";
  setTimeout("kill_ad()",1000);
}
function setInterval(x,y)
{
  return 0;
}
window.setTimeout("kill_ad()",1000);

//if(top!=self) top.location=self.location; //A test, parait que juste ca ca marche pour les page simple (sans Frameset)
</script>

signaler à un administrateur
Commentaire de Zugmegui le 04/05/2005 19:53:23

La solution du code "if(top!=self) top.location=self.location;" marche super bien ...

Perso j'utilise ce code sur mon blog, créé avec PHP-Nuke, et c'est le seul moyen pour que la gestion des nom de page fonctionne. Je m'explique :
PHP-Nuke change le nom des pages en fonctions de votre position dans le site. Exemple "Nom_du_site :: nom_de_la_page".

Avec la pub de lycos, ce n'est pas le titre de votre page qui est prit en compte par le navigateur web, mais celui de la page de la pub de lycos, dans laquelle est encapsuler votre site.

Grace a ce bout de code, le problème ne se pose plus, puisqu'il "désencapsule" votre page ... votre navigateur peut donc prendre en compte le bon titre de page !!

Deuxième avantage : Pour ceux qui ont a coeur de se faire référencer sur un moteur de recherche, ils n'ignorent pas que les pages pleines de frames gènent l'indexation des pages. Les developpeur de PHP-Nuke se sont fais ch*** pour ne pas utiliser de frame dans ce but, et lycos casse tout avec une pub que tout le monde cherche à supprimer ...

A diffuser largement, ce code est celui que tout le monde cherchais depuis longtemps !!

Je donne 10/10 !

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.