11548 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,

voici mon soucis, dans une page web, j'ai deux balises div.
une balise contenu et une balise menu

mon soucis maintenant et de trouver un javascript qui me permette d'afficher dans ma balise contenu soit du SWF soit des pages html. (voir croquis)

upload/8139-croquis.jpg


je vous remercie par avance
Bonjour arteak et bienvenue sur ce forum.

Une petite question pour commencer : pourquoi utiliser un script pour cela ?

Si le CONTENU du site est appelé via javascript, ça pose tout de même un problème d'accessibilité de taille (javascript indisponible ou désactivé) ! Alors qu'il y a des moyens plus simple d'insérer des contenus HTML ou Flash dans une page... par exemple en rajoutant le HTML dans la page, ou en appelant l'animation Flash via l'élément object.

Si la question est de séparer l'interface globale (en-tête, menu de navigation, etc.) et le contenu propre à chaque page, alors PHP est fait pour toi.

Quels sont les besoins derrière cette demande ?
Dis-nous en plus et on pourra sûrement te conseiller. Smiley smile
Modifié par mpop (21 Aug 2006 - 20:03)
je n'ai aucune experience en php.

je voudrai juste que ma navigation en swf (dans ma balise menu) puisse afficher (dans ma balise contenu) des pages html, swf ou mow etc.. sans etre obligé de faire une frame.

pouvez vous m'aider?
Il y parmi les tutoriels d'Alsacréations un tutoriel sur les « simili-frames » en PHP. Le principe (tout simple à mettre en place) est d'appeler non pas une page mais une portion de code (celle correspondant au contenu), à partir d'une même page PHP.
arteak a écrit :
mon soucis maintenant c'est de faire afficher des pages.php dans une des frames.

Attention, il ne s'agit pas de frames, et penser en termes de frames ne peut qu'amener à faire un certain nombre d'erreurs.

La technique des include en PHP permet de générer un code source de page, pas d'inclure une page dans une zone. C'est à dire, pour l'essentiel, que l'on aura une page principale, qui appelera le code du contenu principal (article, animation Flash, etc.), c'est à dire un bout de code HTML, sans balises html, head ou body autour.

Il faut penser : quel sera le code généré si je rajoute ce bout de code (le fichier inclus) au code « conteneur » ?
Si je puis me permettre, je dirai que framer ton site n'est pas une "mauvaise" solution car :

1. si ton but est déviter le reload de toute la page ben c'est ajax ou iframe et iframe c'est simple à mettre en place

2. en javascript pur comme tu l'imagines ca va pas etre terrible car les robots ne suivront pas ton site et à entretenir c'est moyen je trouve

3. le principe des bouts de code php inclus dans la page c'est bien, mais ca fait reloader la page de toute facon donc tant qu'a faire autant faire des pages "propres" imho, mais c'est une question de gout.

bonne chance Smiley cligne
Modérateur
Hello,

Juste un petit mot par rapport à ton intervention tompouce. Smiley cligne

Ajax n'est pas si simple à mettre en place, surtout si tu n'y connais rien en JS (tu peux faire un copier-coller mais tu n'apprends rien dans ce cas). Je trouve qu'il faut vraiment cesser d'orienter ceux qui débutent là-dessus en croyant que c'est une technique miracle. En conseillant arteak de la sorte, tu ne lui rends pas service car cette technique n'est réservée qu'à des gens ayant un minimum de connaissances en HTML/CSS/JS avec quelques notions d'un langage côté serveur. Ce n'est qu'un phénomène de mode. On n'envoie pas quelqu'un qui ne connait rien aux langages côté serveur faire de l'Ajax. Ajax est une surcouche qui sert à améliorer le comportement de ta page, rien d'autre... en aucun cas un substitu. Ceux qui te diront le contraire font des sites inaccessibles de toute manière. Que ce soit Ajax, une frame ou une iframe, ces trois cas posent des problèmes d'accessibilité et de référencement pour ce qu'il y a à faire. Le fait de recharger la page N'EST PAS néfaste, çà ne gêne que le développeur alors que le gros avantage des includes est qu'elles permettent de faire des pages accessibles comparées aux solutions de ton 1. Que tu veuilles améliorer le comportement de ton application, la rendre plus réactive, certes, c'est louable mais de là à se substituer aux techniques indispensables (PHP ici), c'est faire fausse route.

En somme, finissez votre site, rendez-le accessible puis seulement ensuite, faîtes de l'Ajax... cà minimisera les dégâts.

Aussi, arteak, si tu veux faire les choses bien, oriente-toi sur les includes.

/me retourne en vacances... Smiley ravi
Modifié par koala64 (22 Aug 2006 - 17:42)
voici le code que j'ai placé dans l'une de mes balises:

<?php
$page= (isset($_GET['page'])) ? $_GET['page']:'news';

switch($page)
{
case 'one': include ('page1.php'); break;
case 'two': include ('page2.php'); break;
}

// test pour afficher la variable :
echo 'valeur renvoyee = '.$page;

?>


j'ai egalement placé cette action sur mon bouton flash:

getURL("page.php?page=page1", "_self");


mon soucis et le suivant, il ne trouve pas la pages Smiley bawling

- auriez vous une idée?
Je ne suis pas sur d'avoir tout bien compris (je ne code pas en flash) mais dans ton exemple tu passes comme argument à $page "page1"

Dans ton code php tu fais un switch sur les valeurs possibles de $page
or tu regardes si $page prend la valeur "one" et "two" donc forcement il ne fais pas d'include

tu devrais ajouter un cas "default" dans ton switch au cas où ta valeur $page ne trouve rien, ca affichera au moins une page par ... defaut (suis je clair ? Smiley confus )
oui. tres clair. Mais je suis vraiment largé... je crois que je vais rependre ma vielle methode de la frame... dommage.