2017-04-20 9 views
1

私はlaravelとangular jsで作業しています。 laravelではイベントブロードキャストを使用してプッシャー通知を使用しています。そして角度のある側で私はチャンネルを購読し、その通知を受け取ります。ページをリロードするときに変数からデータを削除します

私は1つの変数にプッシャーデータを格納し、それをhtmlに表示しています。しかし、ページをリロードすると、通知が削除されます。

角度JS:

Pusher.logToConsole = true; 

var pusher = new Pusher('Pusher-key', { 
    cluster: 'ap2', 
    encrypted: true 
}); 

var channel = pusher.subscribe('ticket-'+$login_user_id); 
channel.bind('ticket-notification', function(data) { 
    var i = $scope.notification.length; 
    $scope.notification[i] = {"id":data.ticket.id,"subject":data.ticket.subject}; 
    $scope.total_notification = $scope.notification.length; 
    console.log($scope.total_notification); 
}); 

this.update_notification = function(notification_id,index) { 
    $scope.notification.splice(index,1); 
    $scope.total_notification = $scope.notification.length; 
} 

は今、私は別のブラウザで表示することができ、それがその変数に影響を与えることができないよりも、ページをリロードしたときに通知変数globally.Soを保存したいです。

どうすればよいですか?

答えて

0

変数をブラウザのローカルストレージに保存できます。したがって、リフレッシュ時に削除されることはありません。しかし、すべてのブラウザは、ドメインに基づいてローカルストレージの独自のコピーを維持するので、別のブラウザから取得することはできません。このような場合は、サーバー側から通知を受け取るためのメカニズムを開発する必要があります。

0

localStorageは完璧です。 プッシャーデータをlocalStorageに設定します。今、あなたがページをリロードしているときはいつも、localStorageからの保存されたデータを取得します。

Here localStorageについて詳しく知ることができます。

+0

他のブラウザでは使用できません –

+0

「別のブラウザ」とは、同じブラウザの新しいウィンドウを意味します。サーバーがなければChromeからFirefoxにデータを渡すことはできないためです。 – satinja

+0

PouchDBを使うことができます:https://www.tutorialspoint.com/pouchdb/pouchdb_read_document.htm それは良いですか? Cz私はそれについて何も考えていない。 –

関連する問題