11540 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous,
J'ai une page html qui inclue des objets.

<div class="bandeau">
<object data="menu.htm" width="100%" height=100%">
</object>
</div>


Dans le fichier menu.htm j'ai le code suivant
C'est en fait un menu qui recharge toute la fenêtre


<li> <a href="" onclick="loadURL('Accueil.htm');return false;">Accueil</a> </li>

onclick appelle la fonction javascript suivante.
Le code destiné à Firefox marche impeccable par contre il ne marche pas sous ie


function loadURL(url) {
if(navigator.appName == "Netscape")
{
window.parent.document.location.href = "cible.html";
window.location.reload();
}
else
{
window.parent.document.location.href = "cible.html";
window.location.reload();

}
}

On dirait que ie ne veut pas "remonter" de mon objet "menu" à la fenêtre supérieure.

Quelqu'un aurait-il une idée pour que mon site marche sur ie?

Merci d'avance

*Il suffisait d'éditer ton premier message et de faire les correctifs Smiley cligne
Modifié par sb1979 (28 Aug 2008 - 17:15)
Bonjour et bienvenu sur Alsacréations. Je te conseille vivement de ré-editer ton message pour être conforme aux Règle du forum. Notamment la n°13

Une page en ligne serait peut être un plus. Je n'ai pas bien compris ce que tu cherchais à faire ici.

Si tu veux faire simplement un lien je ne comprend pas pourquoi tu n'appelle pas :


<a href="#" onclick='document.location.href="accueil.htm";'>Acceuil</a>


ou même encore plus simple.


<a href='./accueil.html'>Accueil</a>


Mais j'ai surement raté quelque chose.

Rude
Modifié par ffwrude (27 Aug 2008 - 09:20)
Bonjour

Toutes mes excuses pour la présentation, je ne suis pas un habitué des forums.

Je poste de nouveau mon message en essayant d'être plus clair.

J ai mis en ligne un exemple qui pose problème à l'adresse http://www.lirmm.fr/~bringay/test/P1.html

Cette page fonctionne avec Firefox mais ne fonctionne pas avec ie
Or je veux que mon site fonctionne dans les deux cas.

J ai 2 pages qui contiennent chacune un objet qui pointe vers une autre page html mon menu

<div class="menu"> 
<object data="menu.htm" width="100%" height=100%">  
</object>
</div>


Dans mon menu html, j'appelle la fonction loadURL

<li>  <a href="" onclick="loadURL('P1.html');return false;">P1</a> </li>


Dans la fonction js loadURL, je modifie l'url de la page et je la recharge.
function loadURL(url) {
       window.parent.location.href = url;
       window.location.reload(); 
	}


Les 2 solutions que tu me proposes ne me permettent pas de recharger toute la fenêtre mais seulement l'objet "menu".

Si tu as d autres propositions je suis preneur!!
Pourquoi utiliser une balise <object> ?

Si tu veux recharger l'intégralité de ta page il te suffirai d'utiliser des includes PHP.

Les solutions que je t'ai donné sont tout à fait valable.

prennons un exemple


<div id='menu'>
     <?php include ('./menu.htm'); ?>
</div>

<div id='contenu'>
      <?php
             include("./".$_GET["page"].".htm");
       ?>
</div>



Et dans ton menu


<a href='./index.php?page=page1'>Page 1</a>
<a href='./index.php?page=page2'>Page2</a>


Après si tu veux vraiement utiliser du HTML je ne sais pas. Mais je te conseille de t'orienter vers aurte chose que des balises object.

La balise object se gere apparement comme une frame ou une iframe (je ne suis pas familier de cette balise). Tu recharge donc la "frame" et non la page entière.

Si tu débute en web, n'hésite pas à aller dans les tutoriels d'alsacréations. Moi qui programme depuis quelques années... j'y trouve encore beaucoup beaucoup de choses.

Rude
Bonjour

Je ne souhaite pas utiliser de php car le répertoire contenant mes pages peut être téléchargé et doit fonctionner hors ligne.

Je ne veux pas utiliser de frame non plus, d'ou le choix de la balise object.

a écrit :
La balise object se gere apparement comme une frame ou une iframe (je ne suis pas familier de cette balise). Tu recharge donc la "frame" et non la page entière.


Effectivement, le problème est que la syntaxte qui me permet de recharger la page avec Firefox et non pas uniquement la "frame" object ne marche pas avec ie.

Mais je n'arrive pas à trouver la bonne syntaxe.
Heu non, Smiley cligne
Sur cette page parle de la présentation des objets dans la page d'origine et pas de la manière de faire communiquer l'objet avec la plage qui l'inclue
Mais merci c est interressant
sb1979 a écrit :
Heu non, Smiley cligne
Sur cette page parle de la présentation des objets dans la page d'origine et pas de la manière de faire communiquer l'objet avec la plage qui l'inclue
Mais merci c est interressant

Mais utilise des iframe !!!!!!
les objects c'est trop mal implémenté pour l'instant, et les iframes ca sexe très bien pour comminiquer entre les pages avec du JS