JillElaine / jquery-idleTimeout

Idle activity timeout and logout redirect for jQuery for multiple windows & tabs
Other
72 stars 79 forks source link

IE recursive loop crash. #40

Open blizznet opened 8 years ago

blizznet commented 8 years ago

Chrome, FireFox are fine with the multiple tabs (and DevEx MVC).. Works as expected

IE on the other hand (with DevEx MVC Extensions) blows up with more than 3 open tabs.

JavaScript critical error in (unknown source location)\n\nSCRIPT7: Out of memory It appears to have a recursive looping problem after 2 or 3 tabs are redirected to logout. Anyone know why, or any way to fix this ?

rhetherington commented 8 years ago

I believe this version built upon JillElaines is more stable and also accommodates both JQuery UI and Bootstrap UI's.

https://www.npmjs.com/package/jquery-idleTimeout-plus https://github.com/LinearSoft/jquery-idleTimeout-plus

Hope this helps.

Regards,

Richard Hetherington Senior Web Developer

Aztec Retail Solutions c/o John Smith & Son Group Ltd Dragon House Headlands Business Park Ringwood, Hampshire BH24 3PB Tel: +44 (0)1425 485957 ext. 315 Fax: +44 (0)1425 489857

From: blizznet [mailto:notifications@github.com] Sent: 14 September 2016 20:40 To: JillElaine/jquery-idleTimeout Subject: [JillElaine/jquery-idleTimeout] IE recursive loop crash. (#40)

Chrome, FireFox are fine with the multiple tabs.. Works as expected

IE on the other hand (with DevEx Controls) blows up with more than 3 open tabs.

JavaScript critical error in (unknown source location)\n\nSCRIPT7: Out of memory It appears to have a recursive looping problem after 2 or 3 tabs are redirected to logout. Anyone know why, or any way to fix this ?

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://github.com/JillElaine/jquery-idleTimeout/issues/40, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAa7jqQ6A4Kok2gNuId4M3gj1zfYmxhFks5qqE2ogaJpZM4J9KNq.

blizznet commented 8 years ago

Thanks, could not get the multiple tabs to function in those versions.

rhetherington commented 8 years ago

Yeah, you are quite correct. It appears that the users choice to stay logged in doesn't work across tabs. Sorry, I only just incorporated this plus version in a new project and haven't as yet given it the full suite of tests. It looked good off the shelf, however I forgot to test the multi tab instances. My bad. Perhaps it's a quick fix for the developers.

Regards,

Richard Hetherington Senior Web Developer

Aztec Retail Solutions c/o John Smith & Son Group Ltd Dragon House Headlands Business Park Ringwood, Hampshire BH24 3PB Tel: +44 (0)1425 485957 ext. 315 Fax: +44 (0)1425 489857

Richard

From: blizznet [mailto:notifications@github.com] Sent: 15 September 2016 14:05 To: JillElaine/jquery-idleTimeout Cc: Richard Hetherington; Comment Subject: Re: [JillElaine/jquery-idleTimeout] IE recursive loop crash. (#40)

Thanks, could not get the multiple tabs to function in those versions.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/JillElaine/jquery-idleTimeout/issues/40#issuecomment-247322274, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAa7jp9qvSPWeCpQNhsj10_v4cjf9WJOks5qqUKKgaJpZM4J9KNq.

JillElaine commented 8 years ago

Several users have reported problems with Internet Explorer & asp apps, and users have also reported problems with 'redirect' firing multiple times, which may be related. Please look at Issues #21, #26 & #38. I apologize that I do not have time to work on my script right now. Please report back if you find a fix.

rhetherington commented 8 years ago

Hello again, after reviewing all of the jquery-idleTimeout-plus configuration, I discovered that multiWindowSupport config param needs set in your initialisation for the plugin. It is not enabled by default for some odd reason. In order for this to work you also need to include the storage API script on your pages also.

Here's my setup. Paths to scripts will vary. I have removed all version numbers to simplify example.

$(document).ready(function() { // https://www.npmjs.com/package/jquery-idleTimeout-plus // https://github.com/LinearSoft/jquery-idleTimeout-plus IdleTimeoutPlus.start({ idleTimeLimit: 60 * 30, // 'No activity' time limit - NOW in SECONDS. 1800 = 30 Minutes warnTimeLimit: 60, // Length of time to display warning multiWindowSupport: true, bootstrap: true, // works with JQuery UI OR Bootstrap redirectUrl: my-account/logout?action=AutoLogOut", // redirect to this url if timeout exceeded in warning dialog logoutUrl: "my-account/logout", // If user clicks logout in warning dialog warnTitle: "WARNING", warnMessage: "You are about to be signed out due to inactivity." }); });

This now works perfectly for me across multiple tabs/windows and inside iframes of the same origin.

Hope this helps.

Regards,

Richard Hetherington Senior Web Developer

Aztec Retail Solutions c/o John Smith & Son Group Ltd Dragon House Headlands Business Park Ringwood, Hampshire BH24 3PB Tel: +44 (0)1425 485957 ext. 315 Fax: +44 (0)1425 489857

From: blizznet [mailto:notifications@github.com] Sent: 15 September 2016 14:05 To: JillElaine/jquery-idleTimeout Cc: Richard Hetherington; Comment Subject: Re: [JillElaine/jquery-idleTimeout] IE recursive loop crash. (#40)

Thanks, could not get the multiple tabs to function in those versions.

— You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/JillElaine/jquery-idleTimeout/issues/40#issuecomment-247322274, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAa7jp9qvSPWeCpQNhsj10_v4cjf9WJOks5qqUKKgaJpZM4J9KNq.

blizznet commented 8 years ago

Thanks. I just came up with a workaround solution for IE with the JillElaine version, and store.js

We have application that opens up multi tabs via java script, I was able to avoid the looping issue by simply

closing the tabs that the main page creates, on the time out, then logging out, the last open Tab from that session(domain) .

This way I only have one window to “Log out” of and the script works ok , in fact the way it was, it would handle up to 3

total tabs open in IE 11 – Win 7 64, many more in other browsers. Not tested in Edge or Win 10 at all.

One of the problems is this app is DevExpress heavy.. and the way DevEx MVC extensions handle JavaScript causes issues.

Especially in IE.

Thanks for the follow up, much appreciated.

From: Richard Hetherington [mailto:notifications@github.com] Sent: Friday, September 16, 2016 5:46 AM To: JillElaine/jquery-idleTimeout Cc: blizznet; State change Subject: Re: [JillElaine/jquery-idleTimeout] IE recursive loop crash. (#40)

Hello again, after reviewing all of the jquery-idleTimeout-plus configuration, I discovered that multiWindowSupport config param needs set in your initialisation for the plugin. It is not enabled by default for some odd reason. In order for this to work you also need to include the storage API script on your pages also.

Here's my setup. Paths to scripts will vary. I have removed all version numbers to simplify example.

$(document).ready(function() { // https://www.npmjs.com/package/jquery-idleTimeout-plus // https://github.com/LinearSoft/jquery-idleTimeout-plus IdleTimeoutPlus.start({ idleTimeLimit: 60 \* 30, // 'No activity' time limit - NOW in SECONDS. 1800 = 30 Minutes warnTimeLimit: 60, // Length of time to display warning multiWindowSupport: true, bootstrap: true, // works with JQuery UI OR Bootstrap redirectUrl: my-account/logout?action=AutoLogOut", // redirect to this url if timeout exceeded in warning dialog logoutUrl: "my-account/logout", // If user clicks logout in warning dialog warnTitle: "WARNING", warnMessage: "You are about to be signed out due to inactivity." }); }); This now works perfectly for me across multiple tabs/windows and inside iframes of the same origin. Hope this helps. Regards, Richard Hetherington Senior Web Developer Aztec Retail Solutions c/o John Smith & Son Group Ltd Dragon House Headlands Business Park Ringwood, Hampshire BH24 3PB Tel: +44 (0)1425 485957 ext. 315 Fax: +44 (0)1425 489857 From: blizznet [mailto:notifications@github.com] Sent: 15 September 2016 14:05 To: JillElaine/jquery-idleTimeout Cc: Richard Hetherington; Comment Subject: Re: [JillElaine/jquery-idleTimeout] IE recursive loop crash. (#40) Thanks, could not get the multiple tabs to function in those versions. — You are receiving this because you commented. Reply to this email directly, view it on GitHubhttps://github.com/JillElaine/jquery-idleTimeout/issues/40#issuecomment-247322274, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AAa7jp9qvSPWeCpQNhsj10_v4cjf9WJOks5qqUKKgaJpZM4J9KNq. — You are receiving this because you modified the open/close state. Reply to this email directly, view https://github.com/JillElaine/jquery-idleTimeout/issues/40#issuecomment-247571553 it on GitHub, or mute https://github.com/notifications/unsubscribe-auth/AHAPQalGRsggGF4dGPuPdkl9GiIx2NU7ks5qqnN_gaJpZM4J9KNq the thread. https://github.com/notifications/beacon/AHAPQWadrj-cC7pqFt-TGHU3lQ2mSsmtks5qqnN_gaJpZM4J9KNq.gif No virus found in this message. Checked by AVG - www.avg.com Version: 2016.0.7797 / Virus Database: 4656/13029 - Release Date: 09/16/16
zacharymehl commented 7 years ago

I could not get the multiple tabs to work in Edge or IE 10. I tried jquery-idleTimeout-plus and was still seeing the same issue. My resolution was to install localForage, which uses an indexedDB instead of local storage and replace the calls using store.js with localForage.js