2016-06-27 6 views
2

나는 this 템플릿을 사용하고 있으며 알림을 다루는 샘플 페이지가 있습니다. 누를 때 알림을 표시하는 수많은 버튼이 있습니다. 버튼의 소스를 살펴 보았습니다.자바 스크립트로 알림 표시

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

자바 스크립트 소스 코드를 발견했습니다.

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. 웹 소켓
  2. 서버 전송 이벤트

Websocket 양방향 터널을 만들고 Server-sent Events는 서버에서 클라이언트로 단방향 터널을 만들 수 있습니다. 둘 다 귀하의 서버 측 프로그램이 클라이언트에 "통지"를 보내어 Javascript를 통해 표시 할 수 있습니다. 어느 브라우저에서나 HTML5가 작동하지 않습니다. 그리고 그 프로그래밍은 일종의 어렵습니다.

가장 쉬운 방법은 AJAX 요청주기를 만드는 것입니다. 그러나 알림은 실시간이 아닙니다. 그리고 짧은 기간은 클라이언트의 배터리와 서버 리소스를 소모합니다.

1

서버 측에서 클라이언트로 알림을 보내려면 다음 기술을 구현할 수 있습니다. 1. 웹 소켓. 이것은 HTML5의 비교적 새로운 기능입니다. CPU에 덜 집중적 인 포트를 서버에 열어두고 해당 포트를 수신합니다. 이제 서버는 클라이언트에 전달해야하는 모든 것을 전달하고 클라이언트는 실시간으로 렌더링합니다. 채팅 응용 프로그램에 응용 프로그램이 있습니다. 그러나 지금까지는 PHP 기능이 다소 제한적입니다. 그러나 NodeJS에는 Socket.IO이 많이 있습니다. Websockets here에 대해 읽어보십시오.

2. 임시 해결 방법은 간격 요청을 사용하여 알림을 요청하는 것입니다. JavaScript setInterval() 메서드 내에서 간단하게 요청을 래핑하면됩니다. jQuery를 사용하는 경우에는 다음을 입력하십시오. $(document).ready(function() {});

관련 문제