2009-12-04 7 views
1

Je ne joue pas vraiment du tout avec le Web, mais quelqu'un m'a récemment donné un modèle de site et je voulais commencer à jouer avec. Je m'excuse d'avance si mes conditions sont erronées.Flash Faire des requêtes AJAX?

La section supérieure principale du site est une petite chose Flash qui a des boutons comme liens vers différentes zones du site. Tout cela est bien, mais chaque fois que je clique sur ces liens, il faut recharger la page entière (y compris l'application Flash) lorsque seule la partie inférieure change. Ce n'est pas vraiment un problème énorme, puisque tout est vraiment petit, mais c'est un peu ennuyeux. Je me souviens vaguement d'avoir "corrigé" ce comportement en utilisant AJAX pendant ma classe de programmation web, mais ce n'était que du HTML et du Javascript, pas de lecteurs Flash avec lesquels traîner.

Ma question est, comment puis-je surmonter devoir recharger la page entière quand quelqu'un clique sur un lien de l'objet Flash? Existe-t-il une manière sympa de pouvoir appeler autre chose que getURL() pour obtenir cet effet? Je préférerais ne pas avoir à essayer de recréer l'expérience de ce site sans le Flash (mais si j'avais une capacité graphique, je le ferais!).

Merci pour vos suggestions!

Répondre

2

Flash a une bonne chose appelée ExternalInterface. Il vous permet d'appeler une méthode JS sur la page HTML parent directement à partir de votre film flash.

Le format est quelque chose à l'effet de:

ExternalInterface.call("myJSFunctionName", params:Object); 

Ou quelque chose à cet effet, une double vérification pour obtenir le format exact. Cela devrait vous permettre de gérer votre navigation directement dans JS sans actualiser votre page à chaque fois.

+1

Awesome! Je vais vérifier, ça a l'air parfait! Merci! – mrduclaw

1

hmmm ... pouvez-vous changer l'objet Flash? suggère de changer les URL sur le lien en javascript brut qui chargerait l'URL ...

+0

Cela me semble fantastique. Pourriez-vous s'il vous plaît me donner un peu plus pour continuer? Comment ferais-je cela? – mrduclaw

+0

cela signifie que vous devez avoir le fichier flash (fichier .fla) utilisé pour créer l'objet flash ... si vous avez cela, alors vous pouvez trouver des liens sur le fichier flash et les changer de l'url aux appels javascript qui se chargent l'URL ... j'espère que j'ai du sens ... – AceMark

+0

@trace J'ai trouvé les appels à 'getURL()', mais je ne peux pas très bien remplacer 'getURL (" index2.html ");' avec 'getURL ("someJavaScriptMethod"), 'puis-je? – mrduclaw

Questions connexes