Question

Je travaille sur l'ajout de notifications de titre de page pour une installation de AJAXchat. J'utilise un plugin jQuery appelé jquery-titlealerts pour y parvenir. Si je cède la méthode sur l'événement onclick cela fonctionne aussi correctement et modifie le titre de la page. Mais cela ne fonctionne pas comme je l'ai besoin. Je en ai besoin de changer le titre de la page à chaque fois une nouvelle div est créé. Voici les js qui crée dynamiquement une nouvelle div chaque fois que quelqu'un envoie un message:

return '<div id="'
+ this.getMessageDocumentID(messageID)
+ '" class="'
+ rowClass
+ '">'
+ this.getDeletionLink(messageID, userID, userRole, channelID)
+ dateTime
+ '<span class="'
+ userClass
+ '"'
+ this.getChatListUserNameTitle(userID, userName, userRole, ip)
+ ' dir="'
+ this.baseDirection
+ '" onclick="$.titleAlert(\'Error!\');">'
+ userName
+ '</span>'
+ colon
+ this.replaceText(messageText)
+ '</div><script>$.titleAlert(\'Error!\');</script>';
return

Comme vous pouvez le voir, je l'ai essayé de créer un bloc de <script> pour charger juste au-dessous de la div - et il fait, mais pour une raison quelconque ne change pas le titre du document. Si vous cliquez sur un message généré dans le chat, il fonctionnera bien parce qu'il est tiré de l'événement onclick .. Je ne sais pas quoi d'autre pour essayer de le faire fonctionner lorsque chaque div est chargé.

Était-ce utile?

La solution

Dans le lieu où vous appelez la fonction qui a cette déclaration return, après que vous appelez cette fonction, vous devez mettre à jour le titre de la page. Si vous ne voulez pas le faire de cette façon, vous pouvez avoir la fonction qui returns votre nouvelle mise à jour de contenu Div le droit de titre de la page avant de revenir.

Vous pouvez également envisager d'utiliser la méthode de $.ajax() jQuery avec un rappel complete (ou success) pour faire la modification du titre. Honnêtement, ce serait mon approche préférée si je devais donner ce problème à résoudre.

Vous pouvez lire tout sur $.ajax() .

Autres conseils

Insertion d'un bloc de script fonctionne presque jamais par programme dans les navigateurs modernes pour des raisons de sécurité évidentes.

Au lieu de cela, faire le script qui reçoit ce code HTML faire l'alerte, peut-être basé sur une partie du contenu du HTML; par exemple, une durée cachée contenant le message à retirer et à utiliser comme titre.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top