cs_kalachnikov
Messages postés16Date d'inscriptionsamedi 5 juin 2004StatutMembreDernière intervention23 juin 2004
-
21 juin 2004 à 15:36
Zugmegui
Messages postés2Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention 4 mai 2005
-
4 mai 2005 à 19:53
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
Zugmegui
Messages postés2Date d'inscriptionjeudi 20 mars 2003StatutMembreDernière intervention 4 mai 2005 4 mai 2005 à 19:53
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 !
jeune63000
Messages postés2Date d'inscriptionmercredi 29 octobre 2003StatutMembreDernière intervention16 avril 2005 16 avril 2005 à 15:20
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)
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>
vwdamien
Messages postés4Date d'inscriptionmercredi 22 décembre 2004StatutMembreDernière intervention 5 avril 2005 5 avril 2005 à 13:44
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 ++
cs_dr_einstein
Messages postés20Date d'inscriptionlundi 14 février 2005StatutMembreDernière intervention19 avril 2005 28 mars 2005 à 19:38
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>
kegi
Messages postés164Date d'inscriptionjeudi 23 octobre 2003StatutMembreDernière intervention25 août 2008 19 nov. 2004 à 22:46
Félicitation, 10/10
kevin (kegi@hotmail.com)
cs_kalachnikov
Messages postés16Date d'inscriptionsamedi 5 juin 2004StatutMembreDernière intervention23 juin 2004 30 juin 2004 à 12:50
pour les pages php,
bien verifier que l insertion javascript s effectue
APRES
session_start()
et APRES tous les
setcookie
cs_kalachnikov
Messages postés16Date d'inscriptionsamedi 5 juin 2004StatutMembreDernière intervention23 juin 2004 30 juin 2004 à 12:46
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 !
james71
Messages postés2Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention30 juin 2004 30 juin 2004 à 09:04
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
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 29 juin 2004 à 19:16
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 "<?"
au fait:je met 10
aze555666
Messages postés208Date d'inscriptionmardi 13 avril 2004StatutMembreDernière intervention26 janvier 2009 29 juin 2004 à 19:06
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.
james71
Messages postés2Date d'inscriptionmardi 22 juin 2004StatutMembreDernière intervention30 juin 2004 23 juin 2004 à 15:43
ca marche pas avec le php
cs_kalachnikov
Messages postés16Date d'inscriptionsamedi 5 juin 2004StatutMembreDernière intervention23 juin 2004 21 juin 2004 à 16:33
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;
----------------------------------------------------------------
cs_kalachnikov
Messages postés16Date d'inscriptionsamedi 5 juin 2004StatutMembreDernière intervention23 juin 2004 21 juin 2004 à 15:36
dans le source c est marqué kclysoc.js
je me suis trompé c est bien kclycos.js
4 mai 2005 à 19:53
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 !
16 avril 2005 à 15:20
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>
5 avril 2005 à 13:44
damien_vw@hotmail.com
merci à vous ++
28 mars 2005 à 19:38
sa ne generai pas ?
je l'ai mis dans la page qui regroupe les frames
ps: faut bien le mettre avant <html>
19 nov. 2004 à 22:46
kevin (kegi@hotmail.com)
30 juin 2004 à 12:50
bien verifier que l insertion javascript s effectue
APRES
session_start()
et APRES tous les
setcookie
30 juin 2004 à 12:46
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 !
30 juin 2004 à 09:04
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 :
<html>
<script language="javascript" src="kclycos.js"></script>
</html>
<?
29 juin 2004 à 19:16
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 "<?"
au fait:je met 10
29 juin 2004 à 19:06
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.
23 juin 2004 à 15:43
21 juin 2004 à 16:33
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;
----------------------------------------------------------------
21 juin 2004 à 15:36
je me suis trompé c est bien kclycos.js