PDA

View Full Version : stop running this script message on IE 8



webfriend13
26 Jun 2012, 7:05 AM
Hi All,

I am using ExtJs 4.1 framework.
While rendering a page, i randomly see following error message:

stop running this script?" a script on this page is causing your browser to run slowly if it continues to run, your pc might become unresponsive.

I want to understand:
1) What is the cause of this error message ?
2) Is there anyway to get rid of it?
3) Is there any way to identify which section of page or code causing this problem?
4) What is the best way to handle this.

Please provide your suggestion to handle this scenario.

Thank you

scottmartin
26 Jun 2012, 8:29 AM
The cause is that your script is taking too long (loop,hung)

IE/Tools/Internet options
Click Advanced Tab
Find "Disable Script Debugging" Check it
Find "Disable a notification about every script error" and uncheck it

You can also increase the timeout:
http://support.microsoft.com/kb/175500

You can run a profiler or use our PageAnalyzer app included in ExtJS4 to help find the bottleneck.

You need to optimize your application
http://www.sencha.com/blog/optimizing-ext-js-4-1-based-applications/

Regards,
Scott.

friend
26 Jun 2012, 9:01 AM
I once had a trailing comma in a listener config which caused this issue. Most browsers will deal with a trailing comma just fine, but I.E. tends to blow chunks or not render anything, giving you a nice, lovely white page and no meaningful error messages...

webfriend13
28 Jun 2012, 6:59 PM
Hi Scott,

Thank you the reply. Now I understand why I am getting this error message. Is there any way to find out which method or piece of code forcing the scripts to run longer? Do we have a good profiler? I tried using Firebug's profiler but it indicates methods available in ExtJS-all.js file.

scottmartin
28 Jun 2012, 7:13 PM
Have you tried the pageAnalyzer included with 4.1?

Scott.

webfriend13
28 Jun 2012, 8:37 PM
Hi Scott,

I tried using the Performance Analyzer tool but its little difficult to understand the report & there is not much help available on internet. Is there any way to save this report and share it in the forum?

Thank you.

scottmartin
29 Jun 2012, 5:05 AM
You have to drill down to get accurate results. It can be a bit confusing in the beginning.
There are other options like YSlow if you do not feel comfortable. Plugins are available for FF and chrome.

Scott.

whalethewise
17 Aug 2012, 12:21 PM
Hi Scott,

It seems for me that this script is caused by loops somewhere inside core ExtJS during rendering.
I have grid with locked columns . 2 of them locked and about 30 unlocked. If I have 500 rows to render I have "Stop running this script" popup twice. One when locked part is rendered second when normal is rendered.
I changed all my columns to grid columns with direct dataIndex.(before I had templates and custom rendering column and I suspected them to generate issue).

Any recommendations?

scottmartin
17 Aug 2012, 12:44 PM
If you add store.suspensEvents() / store.resumeEvents() around the loading of your data, does it help?

You have a lot of data you are trying to render in a grid and IE is just a slow mule.

Scott.

whalethewise
17 Aug 2012, 1:16 PM
Unfortunately not. And I reduced my locked columns to 2 and normal columns to 5 and it gives me popup fornormal grid even for 300 lines.
I put this around load:
documentListStore.suspendEvents(true);
documentListStore.loadPage(1);
documentListStore.resumeEvents();

As well I put Ext.suspendLayouts() in beforeLoad and Ext.resumeLayouts() in load listeners

I think there is some kind of loop in render that scares IE8