Hello !
Je rencontre un problème sous IE6 (peut-être 7 et 8 aussi, pas testé, mais IE6 sera le navigateur utilisé principalement pour accéder à ce site) lorsque je clic sur un lien pour afficher un calendrier dans une popup.
Le site est en HTTPS et j'ai une boite de dialogue "Information sur la sécurité" avec le texte suivant : "Cette page contient des éléments sécurisés et non sécurisés. Souhaitez-vous afficher les éléments non sécurisés ?".
Ceci est dû au fait que IE considère cette popup comme non HTTPS. La parade est simple : Outils > Options Internet > onglet Sécurité > bouton Personnaliser le niveau > Affiche un contenu mixte > Activer. Mais tous les clients ne vont pas modifier leur config IE (et avoir d'éventuelles failles de sécurité) et il faut simplement que ça fonctionne sans afficher à chaque fois ce message ennuyeux.
J'aimerais donc trouver comment faire pour que ce message ne s'affiche pas.
Le calendrier utilisé est Rich Calendar par Vyacheslav Smolin : http://www.richarea.com/demo/rich_calendar/
Voici le code côté HTML :
Un listener côté Ajax s'occupe d'afficher le calendrier sur un clic :
Code : Sélectionner tout - Visualiser dans une fenêtre à part <a href="#" id="ddCal"><img src="calendar.gif" alt="Calendar" title="Calendar" /></a>
Et :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 var ddCal = $('ddCal'); ddCal.observe('click', Common.show_calHandler.bindAsEventListener(ddCal, 'ddText'));
Enfin la partie d'affichage proprement dite :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Common.show_calHandler = function (event){ var args = $A(arguments); args.shift(); show_cal(this, args[0]); // this = élément à coté duquel on souhaite afficher le calendrier, args[0] = id du champ à remplir };
J'ai cru comprendre en faisant des recherches qu'un lien avec un # (<a href="#"...) permettait d'éviter le problème. Mais c'est déjà le cas ici. Comment faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 function show_cal(el, tf) { if (cal_obj) return; text_field = document.getElementById(tf); cal_obj = new RichCalendar(); cal_obj.start_week_day = 1; cal_obj.show_time = false; cal_obj.language = 'fr'; cal_obj.user_onchange_handler = cal2_on_change; cal_obj.user_onclose_handler = cal2_on_close; cal_obj.user_onautoclose_handler = cal2_on_autoclose; cal_obj.parse_date(text_field.value, format); cal_obj.show_at_element(el, "adj_left-"); cal_obj.change_skin('edd-web'); }
Merci de votre aide !
Partager