[Javascript] Fonction popup dans fichier annexe

molgow

Membre expert
Club iGen
4 Janvier 2002
5 496
613
40
Suisse
Bonjour,

Voilà la situation: j'ai un simple Javascript qui ouvre une nouvelle fenêtre lorsqu'on clique sur un lien (c'est pour une galerie de photos). Le problème, c'est que ce Javascript ce trouve dans un fichier annexe au fichier HTML. Et c'est là que mon problème commence. Alors que Camino, Safari, Mozilla et tous les <bons> navigateurs exécutent le script correctement. IE (Mac et PC) ne trouvent pas du tout le script et ne fait donc rien!! Je précise que j'ai d'abord cru que le problème venait du Javascript en lui même, mais en incluant le Javascript directement dans le code HTML, ça fonctionne très bien avec IE. (mais je n'ai pas envie d'utiliser cette solution qui fonctionne...!)

Voici le code (c'est en XHTML 1.0) :

<font class="small">Code:</font><hr /><pre>
&lt;?xml version="1.0" encoding="iso-8859-1"?&gt;
&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr"&gt;
&lt;head&gt;
&lt;title&gt;Liste images&lt;/title&gt;
&lt;script type="text/javascript" src="popup_photo.js"&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;p&gt;
&lt;a href="javascript:popup_photo('p0017');"&gt;&lt;img src="photos/small/p0017.jpg" width="160" height="119" alt="p0017" /&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/body&gt;
&lt;/html&gt;
</pre><hr />

Et voici le script pour info (j'ai rajouté des retours à la ligne pour éviter d'abimer la mise en page du forum):

<font class="small">Code:</font><hr /><pre>
function popup_photo(img)
{
var h = 660;
var w = 860;
var t = (screen.height - h) / 2;
var l = (screen.width - w) / 2;
toto = window.open("popup.php?photo="+img, "Popup",
"toolbar=0, location=0, directories=0, status=0, scrollbars=0, resizable=0, copyhistory=0,
menuBar=0, width="+w+", height="+h+", top="+t+", left="+l+"");
}
</pre><hr />

Ma question est donc : comment faire en sorte que cette merde de IE trouve mon Javascript dans le fichier annexe popup_photo.js ? Je reprécise encore que je ne veux pas inclure le script directement dans le HTML, même si cette solution fonctionnerait parfaitement (j'ai testé).

Si quelqu'un a une idée...

Merci.
 
Snif.. Personne pour m'aider
frown.gif


Finalement, j'ai tout de même inclu le javascript dans la page, même si ça m'ennuyait. J'ai aussi modifié le javascript, car celui-ci était mauvais. Il fonctionnait mal avec Safari.
 
Merci pour cette suggestion. En fait, le Javascript n'était vraiment pas bon. Je l'ai donc récrit de manière correcte et maintenant ça fonctionne, même avec IE !

Bref le problème est donc résolu
cool.gif