2016-06-27 18 views
2

私はthisテンプレートを使用しています。通知をカバーするサンプルページがあります。押されたときに通知を表示する多数のボタンがあります。私はボタンのソースを見て:javacriptで通知を表示

<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. Webソケット。これはHTML5の比較的新しい機能です。これは、サーバーへのCPUの少ない集中的なポートを開いて、そのポートをリスンします。これで、サーバーはクライアントに渡す必要があるものをすべて渡し、クライアントはリアルタイムでレンダリングします。そのアプリケーションはチャットアプリケーションにあります。しかし、これまでのところ、PHPの能力はある程度制限されています。しかし、NodeJSにはSocket.IOがあります。 Websockets hereについて読むことができます。

2.賢明な回避策は、間隔要求を使用して通知を要求することです。これを行うには、JavaScript setInterval()メソッド内の要求を単にラップします。 jQueryを使用している場合は、これを必ず$(document).ready(function() {});に入れてください。

関連する問題