Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1122 connectés 

  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Intégrer une page externe et de taille variable dans une autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Intégrer une page externe et de taille variable dans une autre

n°1507364
Luigi
Living's easy with eyes closed
Posté le 26-01-2007 à 10:15:16  profilanswer
 

Hello à tous :)
 
Petit problème que je n'arrive pas à résoudre :
 
J'ai écrit un petit script PHP (qu'on va appeler flashs.php) qui choisit aléatoirement parmi les fichiers flash (de tailles variables) qui sont dans son répertoire (pour effectuer une rotation). Ce script doit être appelé par différents sites, qui ne sont pas forcément sur le même serveur.
 
Mon problème est le suivant : comment l'inclure dans les différents sites ?
 
J'ai essayé la méthode iFrame, du style :
 

Code :
  1. <iframe id="nomIframe" src="http://..../flashs.php">


 
Et dans le flashs.php :
 

Code :
  1. parent.document.getElementById('nomIframe').height=$height;
  2. parent.document.getElementById('nomIframe').width=$width;


 
Ca marche si flashs.php et la page qui l'intègre sont sur le même serveur, malheureusement sinon ça échoue (protection je suppose, pour qu'une page intégrée "étrangère au serveur" ne puisse pas modifier n'importe comment la page qui l'intègre).
 
J'ai évidemment essayé un simple include("http://..../flashs.php" ), ça ne marche pas non plus, l'include d'une page externe est impossible.
 
Contraintes :
- je ne peux pas toucher aux configurations des serveurs
- l'idée est de centraliser les flashs à un seul endroit, je ne veux donc pas les mettre sur tous les serveurs pour faire des includes internes. Et je ne peux à priori pas séparer flashs.php de ses flashs, vu que le script doit d'abord les lister avant de choisir dans la liste, et qu'à ma connaissance ça ne peut que se faire s'ils sont sur un même serveur
 
En bref, tant que ma taille est fixe, aucun problème (en utilisant iFrame), mais comment gérer une taille variable ? :sweat:  
 
Merci d'avance pour vos réponses ! :hello:

mood
Publicité
Posté le 26-01-2007 à 10:15:16  profilanswer
 

n°1508454
zecrazytux
Posté le 30-01-2007 à 01:09:46  profilanswer
 

sisi en js tu peux modifier des style de tes elements
 
le javascript c'est coté client, il s'en fou que le script arrive tout droit d'un codage main ou d'une génération par script ephp externe, aucune protection (il y a protection au niveau du code php sur des fichiers locaux alors que le script est distant.)
 
a vu de nez je dirai que le probleme viens de la propriété id qui n'est pas reconnu par iframe...
et je t'encourage a laisser les frames de coter...
tu peux utiliser un div et du php pour la remplacer, et utiliser les css et les propriétés d'overflow si tu as besoin d'une scrollbar
 


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1508455
dwogsi
Défaillance cérébrale...
Posté le 30-01-2007 à 01:14:58  profilanswer
 

Non non, si on a deux pages qui ne viennent pas du même domaine il n'est pas possible d'inter agir entre les deux via js. Sécurité oblige.

n°1508457
dwogsi
Défaillance cérébrale...
Posté le 30-01-2007 à 01:23:41  profilanswer
 

En revanche ce qui est possible c'est que ton flash "distant" soit lu par un script php et renvoyé au client. Ce qui fait que pour le navigateur ça vient du même site alors que ce n'est pas héberger sur le même.

 

Sauf que ça pose deux problèmes : les gros fichiers, ça ne passera surement pas. Deuxième problème : les indisponibilités ou lenteurs du ou des serveurs sur le/lesquels tu lis tes flash.


Message édité par dwogsi le 30-01-2007 à 01:38:16
n°1508496
zecrazytux
Posté le 30-01-2007 à 09:34:45  profilanswer
 

heu oui dwogsl a raison, j'était déja partit sur mon "les iframes, cest tabou, on y viendra tous à bout" :D
 
si le code est généré à partir d'uns cript externe mais qu'il es thbergé sur le même probleme ça pose pas de soucis: d'ou l'idée de gérar le script php sur le servuer qui affiche les flash


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1509075
Luigi
Living's easy with eyes closed
Posté le 31-01-2007 à 12:29:31  profilanswer
 

J'ai essayé un  
 

Code :
  1. echo(file_get_contents("http://..../flashs.php" ));


 
En vain, c'est bloqué, la variable allow_url_fopen étant à false dans le php.ini...
 
Du coup, impossible aussi de lire un flash distant non ?
 
En gros, y'a rien à faire c'est ça ? :sweat:
 
Edit : j'ai eu l'idée de tenter de faire ça en Ajax, en faisant en gros du
 

Code :
  1. req = new XMLHttpRequest();
  2. [...]
  3. req.open("GET", "http://webtools.fr.ubi.com/skytool/sky.php?type=test", true);
  4. [...]
  5. document.getElementById("Ajax" ).innerHTML = req.responseText;


 
Ca marche sur un serveur moins sécurisé, mais ça ne marche pas sur ce serveur, ça me fait une erreur JS "permission refusée" :sweat:


Message édité par Luigi le 31-01-2007 à 15:07:16
n°1509352
zecrazytux
Posté le 31-01-2007 à 22:04:01  profilanswer
 

tu le lis comment  ton flash ?
 


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1509455
Luigi
Living's easy with eyes closed
Posté le 01-02-2007 à 10:14:59  profilanswer
 

Heu... Ben pour le moment je le "lis" pas, je génère simplement une balise object; mais d'après ce que j'ai compris dwogsi proposait de le lire via le PHP (donc avec un fread ou équivalent), ce qui visiblement n'est pas possible à cause du allow_url_fopen qui est à false... :/

n°1509457
dwogsi
Défaillance cérébrale...
Posté le 01-02-2007 à 10:22:28  profilanswer
 

Oui c'est bien ce que je proposais. Mais ta config ne le permet effectivement pas.
Ceci dit, je crois que je comprends pas vraiment d'où vient ton problème... Pourrais-tu détailler? Parce que finalement rien de t'empêche de mettre dans une page du code html faisant référence à un fichier flsh sur un autre serveur.

n°1509527
Luigi
Living's easy with eyes closed
Posté le 01-02-2007 à 12:04:50  profilanswer
 

Désolé je suis peut être pas très clair :D
 
En fait, sur un serveur, j'ai un répertoire contenant un certain nombre de flashs, de tailles différentes (en fait, deux tailles différentes), et un script qui permet d'en choisir un au hasard et qui l'affiche.
 
Disons que j'ai :
- flash1.swf (120*600)
- flash2.swf (160*600)
- flash3.swf (120*600)
 
Mon script.php (sur le même serveur donc) génère un code du type :
 


  <object [...] width="<?=$width?>" height="<?=$height?>">
  <param name="movie" value="<?=$flashChoisi?>">
  <param name="quality" value="high">
  </object>


 
où $width, $height et $flashChoisi dépendent donc du flash qui a été choisi au hasard. Donc par exemple :
 


  <object [...] width="160" height="600">
  <param name="movie" value="flash2.swf">
  <param name="quality" value="high">
  </object>


 
Donc dans ce cas, aucun problème de taille variable, c'est géré.
 
Mais ensuite, pour l'intégrer sur mes sites qui sont sur des serveurs différents, si j'utilise un iframe, ça donne :
 


<iframe width="???" height="600" src="http://[...]/script.php" frameborder="0" marginheight="0" marginwidth="0" scrolling="no"></iframe>


 
Je suis obligé de définir une largeur, alors qu'en fait, la page contenue dans l'iframe peut avoir deux largeur différentes.
 
D'où mon idée d'intégrer directement la page sans iFrame à l'aide du php via include ou echo(file_get_contents()), sauf que j'ai donc été bloqué par la config php... :sweat:


Message édité par Luigi le 01-02-2007 à 12:05:18
mood
Publicité
Posté le 01-02-2007 à 12:04:50  profilanswer
 

n°1509528
zecrazytux
Posté le 01-02-2007 à 12:05:02  profilanswer
 

<object src="http://serveur/fichier.flv"> ta essayé ? :o


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1509530
Luigi
Living's easy with eyes closed
Posté le 01-02-2007 à 12:07:29  profilanswer
 

Dans mes sites ? Ben non, du coup je n'aurai plus de choix aléatoire du flash :o

n°1509571
dwogsi
Défaillance cérébrale...
Posté le 01-02-2007 à 14:04:40  profilanswer
 

<object src="http://serveur/flash.php">
Le fichier flash.php lit un flash aléatoirement sur son serveur à lui.
Je vois pas où est le problème.


Message édité par dwogsi le 01-02-2007 à 14:04:54
n°1509755
Luigi
Living's easy with eyes closed
Posté le 01-02-2007 à 18:05:00  profilanswer
 

Ben la taille ? La balise object ne prend pas automatiquement la taille de son contenu non ?
 
J'ai fait un test rapidement, la balise n'affiche rien du tout en fait quand je fais ça (même en lui donnant une taille), j'y regarderai de plus près demain...

n°1509789
zecrazytux
Posté le 01-02-2007 à 20:09:44  profilanswer
 

ralalalal mais si çase fait :D
pour la taille ça dépends, comment tu connais la taille à adopter ?
 
suffit d'avoir un script pour choisir la video sur le serveur hébergeant les videos, uet un script qui gere la taille, etc


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1511729
Luigi
Living's easy with eyes closed
Posté le 07-02-2007 à 10:51:01  profilanswer
 

Bon j'ai pas eu le temps de faire le test avant, je viens de le faire, et c'est bien ce que je disais...
 
Si je fais <object src="http://serveur/flash.php">, ça ne m'affiche rien du tout, vu qu'il faut donner une taille à la balise object (comme à la balise iframe), elle ne s'adapte pas à la taille de son contenu. Il faut donc que je fasse :
 
<object src="http://serveur/flash.php" width="120px" height="600px"> et là ça m'affiche la page.
 
Ce qui me ramène au même problème : comment avoir une taille variable ? Comment faire si en fait, mon "flash.php" fait 160 de largeur ?
 
La taille, je la connais seulement dans flash.php (quand il tire au hasard un flash, la taille de ce flash est incluse dans le nom).


Message édité par Luigi le 07-02-2007 à 10:51:27
n°1511993
zecrazytux
Posté le 07-02-2007 à 21:00:00  profilanswer
 

gnéééé
du javascript qui modifie les propriétés de object ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1511995
Luigi
Living's easy with eyes closed
Posté le 07-02-2007 à 21:02:20  profilanswer
 

Soit exactement ce que j'avais fait au départ, comme dit dans mon premier message, mais
 

dwogsi a écrit :

Non non, si on a deux pages qui ne viennent pas du même domaine il n'est pas possible d'inter agir entre les deux via js. Sécurité oblige.


 
:o

n°1512215
zecrazytux
Posté le 08-02-2007 à 14:38:27  profilanswer
 

a oui merde :o
lol c'est la merde...


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1512216
zecrazytux
Posté le 08-02-2007 à 14:38:53  profilanswer
 

stockage des flash en sous domaine du site ?


---------------
Blog photo/récits activités en montagne http://planetcaravan.net
n°1512224
Luigi
Living's easy with eyes closed
Posté le 08-02-2007 à 14:43:25  profilanswer
 

Pas possible, vu que les flashs sont appelés à être utilisés sur divers sites n'appartenants pas au même domaine... :sweat:

n°1512227
omega2
Posté le 08-02-2007 à 14:46:01  profilanswer
 

Dit moi, tes flashs, ils ont une taille aléatoire (ca change en fonction d'une condition X alros qu'on demande le même flash) ou bien ils ne changent jamais de taille.
Dans le second cas, pourquoi tu ne stockes pas simplement la taille des flash une bonne fois pour toute?

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  HTML/CSS

  Intégrer une page externe et de taille variable dans une autre

 

Sujets relatifs
[PHP]Pb: Remplacer 1 variable par 1 mot avec RegExNoob : Instruction "&" avant une variable?
ouvrir nouvelle page apres validation formulaire connexRécupérer le résultat d'une fonction javascript dans variable php
Forcer l'ouverture d'un fichier d'une page htmlVariable avec Javascript div
Page de confirmation de suppression et checkboxFixer la taille des cellules
Nom de variable parametré en CVariable en parametre de gotoAndPlay
Plus de sujets relatifs à : Intégrer une page externe et de taille variable dans une autre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR