2016-06-27 4 views
2

Я использую шаблон this и есть образец страницы, которая покрывает уведомления. Существует множество кнопок, которые показывают уведомление при нажатии. Я взглянул на источник кнопки:показать уведомление по javascript

<a id="toastr_show" href="#" class="btn btn-dark">Show</a> 

Я нашел исходный код javascript.

function runToastr(obj){ 
    $(obj.elem).on("click", function(e) { 
     e.preventDefault(); 
     toastr.options.closeButton = false; 
     toastr.remove(); 
     switch(obj.type){ 
... 

Интересно, как я могу назвать это уведомление с php?

+1

Зачем вам запускать действия клиента с php? –

+1

Я обрабатываю предоставленные учетные данные пользователя и хочу сообщить пользователю, был ли его пароль неправильным – Jony

+0

Короче говоря, вы не можете. Вы можете использовать ajax для динамической загрузки контента или даже отправки данных в php-скрипт, но вы не можете отправлять PHP-данные клиенту (как правило, вы можете попробовать и использовать сокеты, но PHP для этого не предназначен). –

ответ

1

Есть несколько способов для вас. HTML5 решение:

  1. WebSocket
  2. Сервер посланного События

Websocket создать двусторонний туннель и Server-sent Events создать односторонний туннель от сервера к клиенту. Оба из них могут заставить вашу серверную программу отправлять «уведомление» вашему клиенту, чтобы вы могли отображать его через Javascript. Как бы то ни было, HTML5 не работает ни в одном браузере. И его программирование довольно сложно.

Самый простой способ - сделать периодичность запроса AJAX. Однако это означает, что уведомление не в режиме реального времени. И короткий период будет стоить батареи на вашем клиенте и ресурсы на вашем сервере.

1

Чтобы инициировать уведомления с сервера на клиент, могут быть реализованы следующие технологии: 1. Веб-узлы. Это относительно новая функция в HTML5. Он обеспечивает доступ к серверу с меньшим потреблением процессора и открытию сервера для этого порта. Теперь сервер передает все, что он должен передать клиенту, и клиент отображает его в реальном времени. Его приложение находится в чатах. Но до сих пор возможности PHP для этого были ограничены. Однако у NodeJS есть Socket.IO и многое другое. Возможно, вы захотите прочитать о Websockets here.

2. Умное обходное решение заключается в запросе уведомлений с использованием запроса интервалов. Вы делаете это, просто обертывая запрос внутри метода JavaScript setInterval(). Если вы используете jQuery, обязательно поместите его в $(document).ready(function() {});

Смежные вопросы