Bonjour à tous
J'ai un projet Javascript que je souhaiterais réalisé, mais sans votre aide, je crain devoir le placer dans le dossier de mes archives…
J'aimerais en fonction de la suite le l'url (http://www.monsite.com/page.html?texte=afficher, par exemple) afficher un texte sur la page ou non.
Bon, la j'y arrive en mettant ces codes dans la source:
Script pour identifier la suite de l'URL :
<SCRIPT language=javascript>
// D'autres scripts et des tutoriaux sur www.ToutJavascript.com
// Script réalisé par Tout JavaScript.com
// Fonction d'extraction des paramètres
function TJSExtraireParam() {
url = window.location.href;
var exp=new RegExp("[&?]+","g");
var exp2=new RegExp("[=]+","g");
var tabNom=url.split(exp);
var tabParam=new Array();
if (tabNom!=null) {
for (var i=1;i<tabNom.length;i++){
var tabTemp=tabNom[i].split(exp2);
tabParam[tabTemp[0]]=tabTemp[1];
}
}
return tabParam;
}
// Appel de la fonction et création du tableau des paramètres
var urlParam = TJSExtraireParam();
<SCRIPT>
Script pour afficher le texte ou non :
<SCRIPT>
var str='';
str+='<DIV style="display:'+urlParam["texte"]+'">Le texte à afficher ou à cacher</DIV>'
document.write(str);
</SCRIPT>
Et, sur l'URL, je met
?texte=none
Mais je voudrais faire mieux encore…
Ce texte servira à informer les visiteur sur une piste mp3 sur son auteur, la date et le titre. L'auteur la date et le titre du morceau seront inscrit comme tel dans l'url :
/page.html?auteur=rom1-du-91&date=28/06/2007&titre=Javascript
Code soucre pour afficher les informations suivant la suite de l'URL :
<SCRIPT>
var str='';
str+='<DIV id="infos" style="display:'+urlParam["texte"]+'"><I><FONT color="#000080">Une Prédication de <B>'+urlParam["auteur"]+'</B> du <B>'+urlParam["date"]+'</B>, <B>'+urlParam["titre"]+'<B>.</FONT></I></DIV>'
document.write(str);
</SCRIPT>
Par contre, si on supprime une référence (
?auteur=&…) au lieu de ne rien marquer, il y est inscrit "undefined". Et undefined n'étant pas un auteur, il serait préférable de cacher le texte;
<SCRIPT>
function adton()
{
if(urlParam["auteur"] == null)
{window.location.href= window.location.href+"?texte=none";}
else
{urlParam["auteur"] = urlParam["auteur"];}
}
window.onload = adton;
</SCRIPT>
Comme ça, si
auteur=, alors
texte=none. Mais au lieu de cela, le navigateur se plante en ajoutant sans cesse "
?texte=none" (Exemple :
http://www.monsite.com/page.html?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none?texte=none, et ainsi de suite).
Savez-vous pourquoi ? Savez-vous comment y remédier ?
Merci d'avance, pour vos réponces…Configuration: Windows 2000
Internet Explorer 6.0