JQuery :: Memory Leaks With Ajax Calls?

Oct 27, 2010

I have a jquery based system with ajax calls instead of page refreshes. Every time I return some ajax content, it replaces the content on the main div.

function execcmdcallback(data, textStatus, XMLHttpRequest)
{
$("#divmain").html(data);
data = null;
}

Each time this executes, the browser memory increases by about 600-900kb. Can anyone suggest a way of doing this where the old memory is freed so there is no significant increase in browser memory on each ajax call ?

I've studied this a bit, [URL]..., but I have to admit I don't quite understand it I see the same issue on IE8, FF and Chrome. FF comsumes less memory per ajax call and frees some memory seconds later, but still the total working set is increasing on each call by 300k in FF and 600 to 900 in chrome and IE

View 15 Replies


ADVERTISEMENT

Memory Leaks In AJAX Application (in Opera)

Mar 1, 2006

I have the AJAX-script. It eats memory about 4Kb per one callback.
Script reflects messages from server application in real-time. I form
messages, and put them into the iframe. If mesages more than 40 last
message delete. Can you check the script and say about my mistakes? Code:

View 3 Replies View Related

AJAX :: Memory Leaks - Replacing Nodes With Frequent Updates

Aug 7, 2010

I've been searching the web for a while now, and I haven't come across a conclusive solution for memory leaks due to replacing nodes with frequent AJAX updates. I wrote a class that pulls an RSS feed frequently (e.g. every 5 seconds) and updates an HTML element with new information. In the process, it removes the old nodes and replaces them with new ones. It works fine visually. The only problem is that it has terrible memory leak complications; when I put the script on to run, it increases the memory usage by about 1MB every few seconds at an accelerated 1000-ms delay between updates!

(That's 100MB every few minutes!) I discovered this when I let the script run for a few hours straight, not thinking anything of it, and when I returned to my computer, it was frozen up Opera seems to be the worst at its memory management on this script, Safari and Chrome are in the middle, and Firefox seems to handle it the best, but nonetheless there are memory leaks in all four. (I haven't tested IE yet, but based on what I read, I would expect that it might even be worse than Opera!)

[Code]....

View 4 Replies View Related

JQuery :: Tablesorter Plugin Leaks Memory In IE6 And IE7

Jun 15, 2009

I have a table, 10 cols, 200 rows. Using tablesorter causes a memory leak on every page refresh of almost 2mB. A smaller table causes a proportionately smaller memory leak. Is there way to clear this memory? I've tried setting inner html of the table to '', but it makes no difference. Is there even a universal method i can call to remove any trace of any jquery plugin I have on the page?

View 3 Replies View Related

Prevent Memory Leaks In IE6 And IE7?

Apr 26, 2011

What is the best way to prevent memory leaks in IE6 and IE7?

I'm working on an internal web app that just gets slower and slower, using more and more CPU load and memory, unless and until you close the browser and start, again.

View 1 Replies View Related

Event Handling, DOM, Closures And Memory Leaks

Oct 18, 2006

I have a question regarding how to prevent memory leaks in Internet
Explorer when using closures. I already knew about the circular
reference problem, and until now was able to prevent memory leak
problems. But I needed to store DOM elements and can't solve it
anymore. So I search the group archive to see if I missed any
valuable information. I found some interesting articles, but somehow
could not apply it to my problem or I did not understand it fully.
In particular the articles that talked about setting variables to
NULL seemed as an easy solution, but I think I didn't understand it,
because it didn't seem to work.

So, let me explain my problem in more detail. I am working on some
very dynamic and complex page. It uses AJAX (XMLHttpRequest) to alter
different parts of the page. This already disqualifies the finalize
method solution to cleanup memory leak problems. I use several
"component classes" to do the work of creating DOM elements in some
container element and provide an easy to use interface for
manipulation the content. For example I can call
component.setBackgroundColor("red")
and the component takes care of changing the style on the correct
DOM element that is encapsulated in the component. In reality the
component uses more complex interface method, but I hope you
get the picture of why I do this.

Let me show you some example code:

function MyComponent()
{
var div;
var handler = null;

this.generate = function generate()
{
div = document.createElement("div");
div.onclick = MyComponent.createClickHandler(this);
// normally more elements are created here
return div;
}

this.setBackgroundColor = function setBackgroundColor(value)
{
div.style.backgroundColor = value;
}

this.getHandler = function getHandler()
{
return handler;
}

this.setHandler = function setHandler(value)
{
handler = value;
}

}

MyComponent.createClickHandler = function createClickHandler(component)
{
return function(event)
{
var handler = component.getHandler();
if (handler != null)
handler(event);
}
}

This "component class" can be used like this:

var container = document.getElementById("container");
var component = new MyComponent();
container.appendChild(component.generate());
....
component.setBackgroundColor("red");
component.setHandler(function(event) {alert("Stop touching me!")});

The problem, of course, is that this code will create a memory leak
in Internet Explorer. I need the component in the event handler to
get the handler dynamically, but the div is stored there too,
creating a circular reference.

One of the things I tried doing is making a DOMStorage "class" like
this:

function DOMStorage()
{
var map = new Object();

this.get = function get(id)
{
return map[id];
}

this.put = function put(id, obj)
{
map[id] = obj;
}

}

var storage = new DOMStorage(); //global

Instead of storing the div element directly in the component, I store
it under an id in the DOMStorage and use it to retrieve it later.
This actually prevented the memory leak. I don't really understand
why, because I still see a circular reference. Maybe Internet
Explorer does not count references in the global scope as a circular
reference? When I move the global storage to inside the container
object I get the memory leak again.

Unfortunately I am unable to use a global DOMStorage, because the
"component class" in instantiated many times, and they must all have
their seperate DOM elements.

Perhaps I have to generate unique ID's when I put a DOM element into
the global storage? It seems so over-the-top for something that works
perfectly fine in Firefox.

What are my alternatives?

View 2 Replies View Related

Checking For Memory Leaks And Garbage Collection

Mar 9, 2007

I'm working on an Ajax library that I plan to use on several upcoming
projects. Everything seems to work just great...

Now I want to get into the finer aspects of checking things... How
much memory am I using, are my objects making themselves available for
garbage collection adequately, etc.

Are there tools you can recommend (especially for IE and Firefox) that
I can use to get this information?

View 1 Replies View Related

Replacing HTML Without Memory Leaks And Redundant Code

Dec 1, 2010

I'm building a JavaScript-based calendar for a client that will require me to replace the page's HTML based on the user's input. For example, if the user clicks on a particular date, then the month/week calendar will be replaced with the day calendar. Needless to say, there are several event listeners involved. However, if I suddenly swap out the month calendar for a day calendar, does that mean that there are several event listeners in memory for elements that no longer exist? Or are those listeners destroyed when the elements are destroyed? Basically my question is, every time I swap out the HTML, do I have to detach all of the old events too?

View 3 Replies View Related

Stop Memory Leaks - Extension Tend To Crash When There Is No Internet Connection

Dec 4, 2010

The problem is, the extension tend to crash when there is no internet connection, and sometimes, the http requests fail to communicate with gmail server, they got built up over time and end up flooding the memory.

[Code]...

View 4 Replies View Related

JQuery :: Memory Leak With 1.6.1 Ajax And Firefox 4.0.1?

May 28, 2011

Attached is a sample html file (named jqmleak.html - rename it to remove the txt extension and drop it into your web server to test for yourself) that I've put together to demonstrate a memory leak with the $.ajax function in jQuery 1.6.1 when run in Firefox 4.0.1. The file loads jQuery 1.6.1 from the Google API CDN. Next, a simple function is defined that runs $.ajax to request the html file itself. This function is then set to run once every second using setInterval.

In Firefox 4.0.1, on both Win XP and Linux (ubuntu 10.10, 64-bit), I can watch the amount of memory consumed by Firefox gradually rise. It takes a few minutes for the problem to be observed, because initially the memory will decrease with no other activity in the browser. Then after about 5 minutes or so, I can watch the memory used by Firefox slowly but steadily increase. I can use the handy 'about:memory' tool in Chrome to monitor this alongside other browsers. Chrome, Opera, and IE do not exhibit the same problem with this test. Their memory usage will vary within a range of about 2 or 3 mb, but over a long period of time they do not increase their total amount of memory used. This problem is only happening in Firefox 4.0.1 as far as I can tell (I also used safe mode in Firefox to make sure no plugins were interfering with the test). I have tried both GET and POST methods with the $.ajax call, and with the cache setting both enabled and disabled. The result is the same.

Is this a jQuery problem, or maybe instead a bug with Firefox? I see similar bugs reporting memory leaks in other situations, but usually specific to IE. I was about to report a bug for this, but I thought I'd check here first to see if anyone can duplicate this problem, and/or point out what I should do to prevent the memory leak in Firefox.

View 2 Replies View Related

JQuery :: Ajax Calls Works, But Only On Second Try

Jul 19, 2010

I'm trying to use the jqmodal dialog plugin and everything is working OK except for one minor problem. It seems when I click on the link, the expected action does not occur until I click the second time. Essentially I set up a small test form with a single line put into a table. In that data line is an href, which when clicked calls an AJAX function and returns text, which displays as a dialog. Like I said, this works fine except for the fact that the dialog does not show until the second time I click on the link. I added an alert box to the code, so I know the function is executed the first time the link is clicked

<script>
$().ready(function() {
$("#hrefClick").click(function(e) {
e.preventDefault();

[Code]....

View 1 Replies View Related

JQuery :: Enqueue A Set Of Ajax Calls?

Nov 22, 2011

I've a js with a loop wich generate ten ajax calls, but I aboslutely need that the first will be executed before the others. how to ?

View 5 Replies View Related

AJAX :: Functions Never Work With PHP - Tree Folder Which Calls Another Page To Be Loaded Into A DIV By AJAX Again

Apr 14, 2009

I'm creating an AJAX page that is built using a PHP Class, ie the php looks a bit like this: PHP Code:

$wp_page->addjs('../var/savepolicies.js')
$wp_parser->page = "userpolicywindow.php";
$wp_parser->addlink("Home","../index.php","");
$wp_parser->addlink("Logout","javascript:logout();","");
$wp_parser->getpageid("501");
[Code]...

within this page that has been created, there is an AJAX tree folder which calls another page to be loaded into a DIV by AJAX again. Code:

[Code]...

I don't know why it doesn't work because the page has been loaded with the JS file, but as soon as the link is added afterwards it doesn't work. I take it this is because it doesn't know where to find the JS, but how can I overcome this?

View 4 Replies View Related

JQuery :: Data Limit For $.ajax Calls?

Feb 27, 2010

I'm experiencing a weird problem when trying to do a $.ajax call. When I pass 5 variables, with either GET or POST, the script runs as I would like. However, when I use 6 or more variables, the script does not run. Does anyone know why this is?

Relevant code (stops1-5 are defined as JS variables earlier in my script, and the alerts are for testing)

$(".barcrawl-stop-id").each(function(){
alert("running ajax function");
$.ajax({
url: "/handlers/ajax/barcrawl_reorder.php",

[Code]....

So, the way it is now, it works fine (I get the first alert for each instance of .barcrawl-stop-id, and get an alert at the end with the returned data). However, when I add another variable to the data, like stop4: stop4, the script does not run (all I see is one alert with "running ajax function").

View 1 Replies View Related

JQuery :: AJAX Calls Acting Syncronously?

Aug 10, 2009

I am a newbie to using jquery and have been exploring it developing a new app. At the moment I have a number of AJAX calls to the server which I have been queueing in an array and using a single $.ajax call to handle all of them. However I know about the browser limitations of two calls per page (at the same time and want to implement this to speed up page updating). To test concurrent ajax requests I have setup various asp pages to with delays 1sec, 5sec, 10sec etc etc. and a test html file with the follwing javascript

[Code]...

View 4 Replies View Related

JQuery :: AJAX Calls To A Server On A Different Port?

Nov 3, 2010

I know about the same-origin policy and that one of the only ways to load data from a cross-domain is to load it as JSON. However, all I am trying to do is access data from a server on another port (which I believe the browser still treats as cross-domain). I need to do this because the server my application is on is a map server and the other server (Apache) is the only one that can handle php scripts. I have also tried out the plug-in from [URL] and while it works when I do $('#phpContent').load('http://www.google.com'); it doesn't work when I try $('#phpContent').load('http://localhost:80/mapScripts/getFiles.php'); I have also tried$.get('http://localhost:80/mapScripts/getFiles.php', function(data) { $('#phpContent').html(data); });

So here I am breaking my brain and do not know what else to attempt.

View 1 Replies View Related

JQuery :: Chaining AJAX Calls With Pause?

Aug 26, 2009

is there a possibility to chain AJAX Requests? By now i have 5 AJAX Functions where one calls the next (Button Click

View 2 Replies View Related

JQuery :: Slow Response To AJAX Calls In IE7?

Jul 30, 2009

I am developing quite a complex user interface in jQuery that relies on an AJAX call to retrieve JSON.We have noticed that the code runs slow in IE7. IE8 and IE6 are acceptable. Firefox and Chrome really quick. I have traced the problem back to the AJAX call, which IE7 seems slow o process. What takes less than a second in the other browsers will take IE7 3 or 4. I have googled for an answer it seems there is some consensus that the native XHR in IE7 is slow, so it may not be a specific jQuery problem.Has anyone else experienced this? Does anyone have a solution? Please consider that this will be a public website, so the solution cannot involve altering settings on users' machines.

View 5 Replies View Related

JQuery :: Multiple Ajax Calls On One Page?

Jan 12, 2011

Basically, what I am trying to do is call several ajax requests using jQuery on the same page, i know that all browsers are capable of requesting multiple requests. However in Chrome and Safari my website works fine, but IE, Firefox and Opera all only call the first request then dont call, the second two. I dont know why though?

All of the code for the site is here: [URL]

View 5 Replies View Related

JQuery :: AJAX Calls Not Working On Local Computer / Fix It?

Jun 4, 2010

I'm trying to load a Javascript file which contains an array of data using .getScript(). It works fine on my server, but the request is never being made when I run it on my own computer, though the callback function is called. Is this an inherent limitation in JQuery/AJAX, or am I doing something stupid? code...

View 1 Replies View Related

JQuery :: Dynamic Number Of Ajax Calls In One Click?

Jul 6, 2011

I want to be able to load content of multiple divs in just one click.And after the content has been loaded make a final call to a function on success.I'm using JQuery.when() wich works fine like this

[Code]...

View 1 Replies View Related

JQuery :: Ajax Calls And Microsoft Internet Explorer ?

May 26, 2010

Issues with jquery ajax calls with IE and what the workarounds are?

I'm having users complain about issues of an ajax call not working, however, I've been unable to reproduce this or see the error myself.

Works fine in firefox/safari/chrome. I have windows7 + IE8/IE7 to test and that works.

My call looks like this...

I added the _requestno parameter because i read that IE does some smart caching of ajax calls, but, that didn't solve the problem.

View 2 Replies View Related

JQuery :: Triggers Ajax Calls On Button Click?

Dec 7, 2010

I have a code that triggers ajax calls on button click, it all works fine but every now and then, the click triggers 2 AJAX calls. When i look at these calls in FB i see they succeeded (they get the expected response) but i get Timeout (I've set it to 3 seconds).

View 1 Replies View Related

Ajax :: Make Multiple Asynchronous Jquery Calls?

Apr 7, 2011

I want to send another ajax request when one request is in process to get the status of first request.
If I call both the request the second request gets blocked till the completion of the first request.

View 2 Replies View Related

Ajax :: Disabling Remote Calls To JQuery Script

Mar 14, 2011

I'm actually not sure if this isn't possible to begin with, but thought I should ask as it's better safe than sorry. On a number of my pages, I use jQuery.ajax() using the json data type. For example:

[Code]...

Would it be possible for people to execute this script from their own server? If yes, is there any preventative measures I can take to block any remote execution of the script? And, are there any other safety concerns I need to be aware of?

View 3 Replies View Related

Jquery :: Web Browser Become Slow Or No Response After Several Ajax Calls?

Mar 23, 2010

I've managed to use ajax to fetch and display the quotations which associate to a particular rep after i click that rep's name. But the only problem is the speed of response. The first few clicks are ok and very smooth. But after several tries, the response become slow and I cant even scroll down the webpage, and later on the web browser craches....

here it is:

<!-- Data display area -->
<br /><input type="image" id="printbtn" value="Print" src="images/printer.png"/><br />
<div id="container">

[code].....

View 3 Replies View Related







Copyrights 2005-15 www.BigResource.com, All rights reserved