Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.javascript > #22822

Re: Shutting script down when leaving page

Message-ID <6507961.N3xZG9CObR@PointedEars.de> (permalink)
From Thomas 'PointedEars' Lahn <PointedEars@web.de>
Organization PointedEars Software (PES)
Date 2014-01-27 11:21 +0100
Subject Re: Shutting script down when leaving page
Newsgroups comp.lang.javascript
References <lc4jit$bmm$1@reader1.panix.com> <R5ydnabdDqqqm3vPnZ2dnUVZ_tqdnZ2d@westnet.com.au>

Show all headers | View raw


Andrew Poulos wrote:

> On 27/01/2014 2:25 PM, Xox wrote:
>> Let us suppose I have a page, a.html, which contains a script which
>> constantly invokes itself or is invoked -- it's running not necessarily
>> continuously but at regular intervals, or maybe it is looping.

There are no pages, they are not “running”, and they certainly do not 
“loop”.  Scripts do not “invoke themselves” either.

Script code may cause other code to be executed repeatedly, using the 
browser API, and it may cause a resource in a view to be reloaded, upon 
which it could be executed again if it was part of that resource.  That
is not a loop.

>> In any case it's active.

HTTP is a stateless protocol.

>> Now the viewer goes to an entirely different page using the same
>> window/tab, so a.html has disappeared.

The resource has been navigated away from.  It is still existing, but is not 
displayed anymore.

>> It seems reasonable to assume that the script would stop running. 

No, it is not.  Window and document are separate entities.

>> But is this in fact known to be the case across all contemporary
>> browsers?

No, it never was.

>> The reason I ask is that I observed some CPU usage which seemed to
>> indicate that something was going on after the page had been left.
>> The script I am dealing with could be costly in terms of CPU

And therefore might need to be replaced with something more efficient, or 
removed.

>> and if it continues to run I should shut it down explicitly when the
>> browser leaves the page.
> 
> Perhaps calling onunload and/or onbeforeunload and stopping the script
> will help.

“onunload” and “onbeforeunload” are event-handler attributes and properties.  
They cannot be called by the developer to the desired effect because the 
developer does not know when they should call them in the first place.

There is an unfortunate tendency of saying that something is “called” when 
any action is caused by anything, particularly among beginners.  People 
nonsensically speak of “Ajax calls”, for example.

Also, because the implementation is single-threaded, scripts cannot be 
stopped or shut down; only the execution of code planned for later execution 
can be prevented (with window.clearTimeout() or window.clearInterval(), or 
setting a key variable or property to a key value so that repeated execution 
is prevented).

-- 
PointedEars

Twitter: @PointedEars2
Please do not Cc: me. / Bitte keine Kopien per E-Mail.

Back to comp.lang.javascript | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

Shutting script down when leaving page Xox <etacx18@etaoin.com> - 2014-01-27 03:25 +0000
  Re: Shutting script down when leaving page Andrew Poulos <ap_prog@hotmail.com> - 2014-01-27 18:08 +1100
    Re: Shutting script down when leaving page "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-01-27 10:23 +0100
    Re: Shutting script down when leaving page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-27 11:21 +0100
      Re: Shutting script down when leaving page Tim Streater <timstreater@greenbee.net> - 2014-01-27 10:41 +0000
        Re: Shutting script down when leaving page Xox <etacx18@etaoin.com> - 2014-01-27 19:43 +0000
          Re: Shutting script down when leaving page "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-01-27 20:53 +0100
            Re: Shutting script down when leaving page Xox <etacx18@etaoin.com> - 2014-01-27 20:52 +0000
          Re: Shutting script down when leaving page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-28 01:20 +0100
            Re: Shutting script down when leaving page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-28 01:24 +0100
            Re: Shutting script down when leaving page "Michael Haufe (TNO)" <tno@thenewobjective.com> - 2014-01-27 18:44 -0800
            Re: Shutting script down when leaving page Xox <etacx18@etaoin.com> - 2014-01-28 05:03 +0000
              Re: Shutting script down when leaving page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-28 11:33 +0100
                Re: Shutting script down when leaving page Xox <etacx18@etaoin.com> - 2014-01-28 19:40 +0000
            Re: Shutting script down when leaving page "Evertjan." <exxjxw.hannivoort@inter.nl.net> - 2014-01-28 09:31 +0100
      Re: Shutting script down when leaving page Christoph Michael Becker <cmbecker69@arcor.de> - 2014-01-27 21:37 +0100
        Re: Shutting script down when leaving page Thomas 'PointedEars' Lahn <PointedEars@web.de> - 2014-01-28 00:10 +0100
          Re: Shutting script down when leaving page Christoph Michael Becker <cmbecker69@arcor.de> - 2014-01-28 00:54 +0100

csiph-web