Utilisateur anonyme
-
Modifié le 18 nov. 2009 à 19:55
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 2012
-
18 nov. 2009 à 19:55
Bonjour,
Mon sujet n'est pas très compréhensible mais voici ma question :
J'ai un ami qui veut intégré le "header" de mon site (qui contient mes logos, menus, ...) sur le sien.
Il faut donc que je créer un petit script sur mon serveur qui récupère le contenu HTML de ma page header.php en le transformant avec des document.write javascript pour que lui ai simplement qu'à joindre mon fichier "js/php" dans sa page.
Voici donc la page PHP (qui sera intepreté comme un script js) que mon ami devra linker sur ca page :
$fd = fopen('http://www.monsite.com/header_page.php','r');
while (!feof($fd)) {
echo 'document.write("'.addslashes(fgets($fd)).'");';
}
fclose($fd);
Quand je vais sur cette page, il met bien le code html de chaques lignes entre "document.write()"... Seulement ca ne fonctionne pas comme je le voudrais.
Il faut savoir qu'il y a du code javascript dans ma page header et qu'apparement il ne veut pas faire du document.write avec du code JS. Même chose pour les balises <!-- -->... Il déconne aussi avec.
syndrael
Messages postés2378Date d'inscriptionlundi 4 février 2002StatutMembreDernière intervention29 décembre 201220 18 nov. 2009 à 11:41
Si en plus il te faut du propre.. il faut que je prenne le tmeps de lire ton post alors..LOL !! Le plus simple --> IFrame = 1 ligne.
Pourquoi ne pas générer ton entete via PHP en HTML le sauvegarder dans un répertoire public ou protégé via un HtAccess et depuis son site faire le même fopen ??
S.
TychoBrahe
Messages postés1309Date d'inscriptionsamedi 31 janvier 2009StatutMembreDernière intervention 5 juin 201312 18 nov. 2009 à 15:05
Bonjour,
Pour commencer :
- Les iframes sont à bannir.
- document.write est également à bannir.
- En PHP on a inventé file_get_contents() pour ne plus avoir besoin de manipuler fopen(), fread() et fclose().
Si j'ai bien compris ton soucis, le but est de faire que ton ami n'ai qu'a inclure un fichier JavaScript présent sur ton serveur (généré dynamiquement) qui servira à manipuler le DOM afin d'y insérer des éléments provenant de chez toi. A mon sens la manière la plus propre de procéder serait que ton ami prévoie un cadre (un div) disposant d'un id que tu connais. Ceci servirait aisément à ton JavaScript pour trouver ce cadre et intégrer le contenu grâce à innerHTML. Après il y a la question du contenu JavaScript dans ce que tu inclu, il se trouve qu'en effet JavaScript ne peut pas "s'auto-modifier" comme ça, en rajouter de la sorte ne se fait pas. En revanche, tu peux regarder du côté de eval() qui, bien que ce soit assez sale, peut répondre à tes attentes.
Vous n’avez pas trouvé la réponse que vous recherchez ?
kohntark
Messages postés3705Date d'inscriptionlundi 5 juillet 2004StatutMembreDernière intervention27 avril 201230 18 nov. 2009 à 19:55
Salut,
Allé, j'y vais de ma question con : Ton ami n'a pas PHP sur son serveur ??
ça existe encore ? ... ou est ce une autre problématique qui t'oblige à passer par du JS ?