Webmaster Hub: Changement de css et iframe - Webmaster Hub

Aller au contenu

Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

Changement de css et iframe

#1 L'utilisateur est hors-ligne   salutlacom 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 06-octobre 06

Posté 08 octobre 2006 - 20:34

CouCou tout le monde !

J'ai un petit probleme avec un script :
Il a pour fonction de changer la feuille css de la page qui contient une iframe,
apèrs quelque modif j'ai reussi a faire que celle ci puisse aussi beneficier du changement de styles
mais voila il y a des liens qui charge une page dans l'iframe et a ce moment là, la page chargée ne prend pas en compte la feuille css demandée. Elle devrait pourtant chager la fueille css qui est enregistré dans le cookie ?
Je suis on ne plus debutant mais j'espere avoir été clair qu'en même.

Voila le script qui est apellé sur les pages contenant et contenues dans l'iframe:

function setActiveStyleSheet(title) {
var i, a, main;
document.titop.src=title+".jpg";
for(i=0; (a = document.getElementsByTagName("link")); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true ;

if(a.getAttribute("title") == title) a.disabled = false ;
}
}
for(i=0; (a = parent.frames["iframe"].document.getElementsByTagName("link")); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title")) {
a.disabled = true;
if(a.getAttribute("title") == title) a.disabled = false;
}
}
}
function getActiveStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")); i++) {
if(a.getAttribute("rel").indexOf("style") != -1 && a.getAttribute("title") && !a.disabled) return a.getAttribute("title");
}
return null;
}
function getPreferredStyleSheet() {
var i, a;
for(i=0; (a = document.getElementsByTagName("link")); i++) {
if(a.getAttribute("rel").indexOf("style") != -1
&& a.getAttribute("rel").indexOf("alt") == -1
&& a.getAttribute("title")
) return a.getAttribute("title");
}
return null;
}
function createCookie(name,value,days) {
if (days) {
var date = new Date();
date.setTime(date.getTime()+(days*24*60*60*1000));
var expires = "; expires="+date.toGMTString();
}
else expires = "";
document.cookie = name+"="+value+expires+"; path=/";
}
function readCookie(name) {
var nameEQ = name + "=";
var ca = document.cookie.split(';');
for(var i=0;i < ca.length;i++) {
var c = ca;
while (c.charAt(0)==' ') c = c.substring(1,c.length);
if (c.indexOf(nameEQ) == 0) return c.substring(nameEQ.length,c.length);
}
return null;
}
window.onload = function(e) {
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
createCookie("style", title, 365);
}
var cookie = readCookie("style");
var title = cookie ? cookie : getPreferredStyleSheet();
setActiveStyleSheet(title);
createCookie("style", title, 365);

0

#2 L'utilisateur est hors-ligne   AntiStatic 

  • Groupe : Membre
  • Messages : 96
  • Inscrit(e) : 16-octobre 04

Posté 09 octobre 2006 - 01:54

Yo !

est-ce que par hasard les pages sur lesquelles le changement de styles ne se fait pas sont des pages qui ne sont pas hébergés sur ton site ? Car si c'est la cas, tu ne pourras pas changer les styles : erf je me cites :

Citation

En javascript, tu ne pourra pas accéder aux objets, méthodes, propriétés HTML d'une page qui se trouve sur un autre domaine que ton javascript. Quand tu essaye de faire cela tu auras en retour un erreur te disant un truc du style : "Access denied". C'est une mesure de sécurité basique intégrée dans les navigateurs depuis un moment maintenant (IE j'en suis en fait j'ai jamais fais attention sous Firefox).


Si ce n'est pas ca, essaye de matter dans la console javascript de Firefox l'erreur qui t'es retouné pour au mois, te et nous mettre sur la voie et tiens nous au courant !

++
:: Tu as un site en PR5 et tu veux faire de l'échange de lien triangulaire ? Contactes-moi en MP !
:: Une femme à séduire ? Pensez à lui acheter des fleurs avec AaZ-Fleurs.com
:: Un achat en ligne à faire ? Les meilleurs sites sont sur iConso.com
0

#3 L'utilisateur est hors-ligne   salutlacom 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 06-octobre 06

Posté 13 octobre 2006 - 22:19

CouCOu ,
(désolé pour le temps de réponse )

Tu m'as fait découvrir cete console qui est un outil plus que precieux :thumbup:
Le contenu de l'iframe est bien sur sur mon site ! :)
DOnc la console me renvoit une erreur car l'image titop se trouvant seulement sur la page contenant l'iframe mais même celle parti de code enlevée pour voir , le contenue de l'iframe ne change pas de skin si on le modifie c'est a dire qu'au chargement dans l'iframe les pages ne lisent pas le cookie pour prendre le skin enregistrée :nonono:

Je peux vous donner l'adresse pour vous rendre compte concretement : actualika.free.fr/musique.php
0

#4 L'utilisateur est hors-ligne   salutlacom 

  • Groupe : Membre
  • Messages : 3
  • Inscrit(e) : 06-octobre 06

Posté 14 octobre 2006 - 21:55

CouCou,

Finalement j'ai réussi a m'en sortir.
En fait il fallait simplement remplacer le window.onload par document.onload
ce qui semble assez logique car au chargement du nouveau contenu de l'iframe le fonction ne s'executait donc pas.

Merci de ton aide et au revoir.
0

Partager ce sujet :


Page 1 sur 1
  • Vous ne pouvez pas commencer un sujet
  • Vous ne pouvez pas répondre à ce sujet

1 utilisateur(s) en train de lire ce sujet
0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)