Вопрос

Я работаю над добавлением уведомлений о заголовке страницы для установки Ajaxchat. Я использую плагин jQuery под названием JQuery-TitLealerts для достижения этого. Если я назначаю метод на событии OnClick, он работает так же правильно и изменяет заголовок страницы. Но это не работает так, как мне нужно. Мне нужно, чтобы он менял заголовок страницы каждый раз, когда создается новый Div. Вот JS, который динамически создает новый Div каждый раз, когда кто -то представляет сообщение:

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

Как видите, я попытался создать <script> Блокируйте, чтобы загрузить чуть ниже Div - и это так, но по какой -то причине не меняет заголовок документа. Если вы нажмете на сообщение, сгенерированное в чате, он будет работать, потому что оно упускается из события OnClick. Я не уверен, что еще попытаться заставить его работать при загрузке каждого Div.

Это было полезно?

Решение

В том месте, где вы называете функцию, которая имеет это return оператор, после того, как вы вызовите эту функцию, вы должны обновить заголовок страницы. Если вы не хотите делать это таким образом, вы можете иметь функцию, которая returnS ваш новый Div Content Обновите заголовок страницы прямо перед тем, как она вернется.

В качестве альтернативы рассмотрите возможность использования jQuery $.ajax() Метод с complete (или же success) обратный вызов, чтобы сделать изменение названия. Честно говоря, это был бы мой предпочтительный подход, если бы мне поручили эту проблему для решения.

Вы можете прочитать все о $.ajax() здесь.

Другие советы

Вставка блока сценария программно почти никогда не работает в современных браузерах по очевидным соображениям безопасности.

Вместо этого, сделайте сценарий, который получает этот HTML, предупреждающий, возможно, на основе части содержания HTML; Скажите, скрытый пролет, содержащий сообщение, чтобы вытащить и использовать в качестве заголовка.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top