this.core.quit(); doesn't fire a "userLeft" event. You still have to
wait for the timeout for the left event to be fired. If I try this
without actully closing the window, I can't send or received anything,
but the other clients are not informed right away that I left.
In my chat application, when I call quit, the other clients will still
see the leaving user as connected until the timeout is reached. I
tried to send a "left" command, but it won't work in all browsers
(Safari) because of what I explained in a previous post (As any other
direct Ape command)
Depending on what you want to achieve, there are multiple way to do
it. What I did is that in "onbeforeunload", with a Synchronous AJAX
request, I call a php file who then send a command (using something
similar to inlinepush) to the server, along with the user pubid. With
this pubid, I can retrieve the user's info on the server and call a
left command for the channel:
Ape.getUserByPubid(params.data.pubid).left('testsalon')
Again, depending of what you are trying to do, once PHP sent the
command, you can do whatever you want with the user and the other
clients...
As I said, it's not pretty. But it seems to work 90% of the time. One
exemple where it doesn't work is if I close the browser with cmd+Q (on
OSX)... For me it's an "ok" solution, but a more straightforward way
to change the default timeout would be nice. Before using Ape, I was
using Java Socket + Flash. I was kind of used to the socket closing
instantly when the clients side was closed...
On Sep 15, 5:13 pm, Nicolas <[email protected]> wrote:
> By the way, I may be missing something, but in your case, why don't
> you just use this.core.quit() on unbeforeunload?
>
> On 2 sep, 21:25, Louis Charette <[email protected]> wrote:
>
>
>
>
>
>
>
> > Yeah well I already tried this:
>
> > $(window).bind('beforeunload', function() {
>
> > but I found the other one was working better, with Chrome at least.
> > I just tried the raw js you quoted and it's not working either.
>
> > - Louis
>
> > Le 2011-09-01 à 23:44, Pablo Tejada a écrit :
>
> > > I knew about unload and safari, is why suggested the onbeforeunload
> > > event. Have not tried my self but I read it works. Try raw JS like
>
> > > window.onbeforeunload = function(){
> > > //send left command
> > > }
>
> > > Sent from my iPad
>
> > > On Sep 1, 2011, at 10:41 PM, Louis Charette <[email protected]>
> > > wrote:
>
> > >> I changed the raw for a custom server function:
>
> > >> Ape.registerCmd('leavePage', true, function(params, infos) {
> > >> Ape.log("Leaving Page");
> > >> });
>
> > >> Client side (I used Jquery) :
>
> > >> $(window).unload(function() {
> > >> console.log("Just left page");
> > >> ape.request.send('leavePage', {});
> > >> });
>
> > >> If I reload the page with Chrome, "Leaving Page" is addend to the APE
> > >> logs, but with Safari the log entry is not there.
>
> > >> - Louis
>
> > >> Le 2011-09-01 à 21:37, Wes Garland a écrit :
>
> > >>> Does the RAW actually get sent over the wire? Check with a packet
> > >>> sniffer if you're not sure.
>
> > >>> Wes
>
> > >>> On 1 September 2011 20:26, Louis Charette <[email protected]>
> > >>> wrote:
> > >>> False. They both fire, but it looks like it's the RAW I'm trying to
> > >>> send that is not working…
>
> > >>> On 1 sep, 20:04, Louis Charette <[email protected]> wrote:
> > >>> > I tried the "onbeforeunload" event. Looks like it's not working for
> > >>> > Chrome & Firefox. They both need "onunload", but this one doesn't work
> > >>> > on Safari (Didn't tried "onbeforeunload" on safari)
>
> > >>> > It both doesn't fire when you simply close the page though… But I must
> > >>> > agree it's the simplest solution and better than nothing :)
>
> > >>> > - Louis
>
> > >>> > On 1 sep, 15:10, Pablo Tejada <[email protected]> wrote:
>
> > >>> > > This is simple to do in JavaScript, you could use the window
> > >>> > > onbeforeunload
> > >>> > > event to trigger the left command before the user either quits or
> > >>> > > navigates
> > >>> > > away from the webapp
>
> > >>> --
> > >>> You received this message because you are subscribed to the Google
> > >>> Groups "APE Project" group.
> > >>> To post to this group, send email to [email protected]
> > >>> To unsubscribe from this group, send email to
> > >>> [email protected]
> > >>> For more options, visit this group at
> > >>>http://groups.google.com/group/ape-project?hl=en
> > >>> ---
> > >>> APE Project (Ajax Push Engine)
> > >>> Official website :http://www.ape-project.org/
> > >>> Git Hub :http://github.com/APE-Project/
>
> > >>> --
> > >>> Wesley W. Garland
> > >>> Director, Product Development
> > >>> PageMail, Inc.
> > >>> +1 613 542 2787 x 102
>
> > >>> --
> > >>> You received this message because you are subscribed to the Google
> > >>> Groups "APE Project" group.
> > >>> To post to this group, send email to [email protected]
> > >>> To unsubscribe from this group, send email to
> > >>> [email protected]
> > >>> For more options, visit this group at
> > >>>http://groups.google.com/group/ape-project?hl=en
> > >>> ---
> > >>> APE Project (Ajax Push Engine)
> > >>> Official website :http://www.ape-project.org/
> > >>> Git Hub :http://github.com/APE-Project/
>
> > >> --
> > >> You received this message because you are subscribed to the Google
> > >> Groups "APE Project" group.
> > >> To post to this group, send email to [email protected]
> > >> To unsubscribe from this group, send email to
> > >> [email protected]
> > >> For more options, visit this group at
> > >>http://groups.google.com/group/ape-project?hl=en
> > >> ---
> > >> APE Project (Ajax Push Engine)
> > >> Official website :http://www.ape-project.org/
> > >> Git Hub :http://github.com/APE-Project/
>
> > > --
> > > You received this message because you are subscribed to the Google
> > > Groups "APE Project" group.
> > > To post to this group, send email to [email protected]
> > > To unsubscribe from this group, send email to
> > > [email protected]
> > > For more options, visit this group at
> > >http://groups.google.com/group/ape-project?hl=en
> > > ---
> > > APE Project (Ajax Push Engine)
> > > Official website :http://www.ape-project.org/
> > > Git Hub :http://github.com/APE-Project/
--
You received this message because you are subscribed to the Google
Groups "APE Project" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/ape-project?hl=en
---
APE Project (Ajax Push Engine)
Official website : http://www.ape-project.org/
Git Hub : http://github.com/APE-Project/