IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

ActionScript 3 Discussion :

Depuis un SWF, chargé un lien dans une DIV


Sujet :

ActionScript 3

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Par défaut Depuis un SWF, chargé un lien dans une DIV
    Bonjour à vous tous et merci d'avance pour votre aide.
    Je me sert d'un SWF(AS3) comme zone de navigation de mon site.
    Et j'aimerais que lorsque je clique sur un lien, il me charge dans une DIV précise une page html sans charger l'entiérté de la page.

    http://www.delightfactory.eu/
    Cliquez sur le lien compilation DVD
    Mais comme on peu le voir je suis loin du résultat voulu.
    Ce que je sais c'est que je dispose de quelques moyens de le faire

    InnerHTML, ou Include

    InnetHTML à priori c'est pas une trés bonne méthode d'aprés ce que j'ai pu lire.
    Include charge toute la page HTML

    Avant de pouvoir avancer concrétement, j'aimerais savoir selon vous qu'elle serais la méthode la plus approprié.

    Merci de votre aide.

  2. #2
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    Coucou !

    Tout d'abord voici un conseil par rapport au javascript : Utilise une librairie.

    Quand tu passes par un javascript ( langage de predilection de modification de la structure d'une page web ) il est preferable d'utiliser une librairie ( mootools , jquery , etc .. ).

    Ceci permet d'utiliser des fonctions simple a écrire pour toi et qui marcherons dans tout les navigateurs pour tes visiteurs.

    Le surplus engendré par ces librairie n'est rien en gzippé (surtout a coté d'un gros site flash ). Enfin tu peux mettre le lien de la lib de google ( qui gzippera automatiquement + mise en cache + rapidité des serveurs google + economie de bande passante ) : http://code.google.com/intl/fr-FR/ap...documentation/

    Maintenant pour ton probleme :

    Une fois ta lib choisis ( par exemple jquery ) tu crée une petite fonction javascript :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     //charge dvdPage dans #tonDiv
     
    function loadDvD(){
        $("#tonDiv").load("dvdPage.html");
    }
    (voir la doc : http://docs.jquery.com/Ajax/load#urldatacallback )

    Maintenant pour communiquer flash / javascript utilise external interface :

    http://help.adobe.com/fr_FR/AS3LCR/F...Interface.html

    Si t'a d'autre soucis ou que tu souhaites qu'on t'aide sur un autre point , hésite pas

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Par défaut
    Merci de ta réponse claire, j'ai compris directement.
    Mais en ésperant que j'ai bien compris, voici le probléme sur le quel je suis arrivé.

    JS dans mon HTML
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <script type="text/javascript"><!--
     
    function chargeArticle(lien){
    	$("#DIV_global").load(lien);
        return false;
    }
     
    // --></script>
    AS3
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    navigateToURL(new URLRequest("java script:chargeArticle(http://www.delightfactory.eu/photos.html)"));
    Message d'erreur
    Forbidden
    You don't have permission to access /java script:chargeArticle(http://www.delightfactory.eu/photos.html) on this server.
    Ce message apparait dans une nouvelle fenêtre IE.
    Le test à été éxecuté sur le server.

    http://www.delightfactory.eu/

  4. #4
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    Il faut pas passer par navigateToUrl !

    Mais par externalInterface !

    http://help.adobe.com/fr_FR/ActionSc...0204-7ca8.html

    Pour toi sa donnerais donc:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExternalInterface.call("chargeArticle", "tonBoutDePage.php");

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Par défaut
    Voilà super et merci, j'y suis preceque mais avec un petit bémol.

    Donc j'ai installé jquery.js sur mon serveur, chose que je savais pas avant.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <script type="text/javascript" src="Scripts/jquery.js"></script>
    <script type="text/javascript"><!--
     
    function chargeArticle(lien){
    	$("#DIV_global").load(lien);
        return false;
    }
     
    // --></script>
    Ensuite comme tu me la indiqué.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ExternalInterface.call("chargeArticle", "../photos.html");
    Alors il me charge bien ma page photos.html, mais sans la forme, juste en texte brute.

    Tu peux allé voir si tu le souhaite

    http://www.delightfactory.eu/index.php
    Clique sur "Compilation DVD"

    Et ça c'est la page comme elle devrait être chargé
    http://www.delightfactory.eu/photos.html

    Encore merci

  6. #6
    Membre chevronné Avatar de IP-Fix
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    421
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2006
    Messages : 421
    Par défaut
    là c'est un probleme d'ajax !

    Ajax ne charge pas automatiquement le css.

    Faut prévoir tout dans ta page initiale et chargé d préférence que le bout de page désiré ( et non toute la page avec l'entete html , etc etc ... ).

    Pour plus d'info va voir sur le forum javascript / ajax

    Bonne chance !

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    477
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juillet 2006
    Messages : 477
    Par défaut
    Voilà j'ai su avancer partiellement sur mon probléme, pour ceux qui le souhaite voici la solution.

    Solution sur le forum jQuery

    Par contre j'arrive toujours pas suite au load de chargé le sIFR3 que j'utilise sur mes pages secondaires.

    En tout cas, merci encore à toi IP-Fix

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lien dans une div masquée
    Par CinePhil dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 08/07/2012, 10h59
  2. positionnement lien dans une div "extensible"
    Par Ceddoc dans le forum Mise en page CSS
    Réponses: 11
    Dernier message: 28/04/2011, 15h30
  3. Réponses: 7
    Dernier message: 14/09/2005, 10h50
  4. Ouvrir un lien dans une nouvelle fenêtre
    Par Le Lézard dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 13/12/2004, 14h43
  5. Verrouiller un lien dans une page
    Par [DreaMs] dans le forum XMLRAD
    Réponses: 5
    Dernier message: 25/02/2003, 16h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo