8

Je souhaite utiliser le plugin jGrowl pour jQuery (http://stanlemon.net/projects/jgrowl.html#samples) pour afficher certains messages sur une page. Pour ce faire, j'appelle la méthode ScriptManager.RegisterClientScriptBlock comme ceci:Problème avec ScriptManager.RegisterClientScriptBlock et jQuery dans Internet Explorer 8

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), Guid.NewGuid().ToString(), 
    "$.jGrowl('" + message + "');", true); 

Le code fonctionne parfaitement dans Firefox/Chrome/Safari. Cependant, dans Internet Explorer, je ne vois pas la notification et je ne reçois aucune erreur Javascript.

Je travaille sous Windows 7 et j'ai Internet Explorer 8 Bêta (version 8.0.7000.0) et j'ai le même "bogue" sous le mode de compatibilité.

Comment puis-je résoudre ce problème?

Répondre

12

Ce problème se produit car IE8 s'attend à ce que tous les éléments DOM soient chargés avant que des modifications puissent être apportées au DOM. J'ai été capable de reproduire le problème que vous avez décrit avec jGrowl. Pour corriger cela, je viens de modifier votre script afin que l'appel à jGrowl arrive une fois que le document est prêt. Voici le code mis à jour:

ScriptManager.RegisterClientScriptBlock(this, typeof(Page), 
    Guid.NewGuid().ToString(), 
    "$(function(){$.jGrowl('" + message + "');});", true); 
+0

Merci pour votre réponse. J'ai essayé de te corriger, mais ça ne marche toujours pas. Peut-être parce que j'ai un panneau de mise à jour sur la page? –

+0

J'ai testé ce code avec un panneau de mise à jour et ça a bien fonctionné. Avez-vous réellement copié/collé le code ci-dessus? Avez-vous des erreurs javascript dans le navigateur? –

+0

Si, après cela, vous rencontrez toujours un problème, vous devrez peut-être effectuer une mise à niveau vers la version finale d'IE8 au lieu de la version bêta. –

2

ajouter <form runat="server" id="form1"> à la page. Cela fonctionnera ...

0

Si ce n'est pas faux, je pense que vous devez ajouter cela dans la page du côté client. Pour plus de détails, consultez this.

Questions connexes