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
ADVERTISEMENT
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
View Related
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
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
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
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
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
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
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
Nov 16, 2006
I am creating a data application where users must be able to select table rows to perform actions on it... Think in terms of Yahoo Mail. I have written a script to select clicked rows and to deselect them when clicked again. I also added shift button functionality and 'escape' to deselect all.
However my problem arise with my click and drag to select multiple rows. It works fine in FF and IE, I have managed to disable text select in these browsers because it looks awry, but have not managed to achieve the same effect in Opera. Code:
View 12 Replies
View Related
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
Nov 14, 2006
I am using ASP to make an application. What I want right now - is to
make the self updating list of the users online - based on thier
cookies. In my opinion all seems to be writen well with it's logic, but
computer thinks otherwise. I use application("loged") to store the
cookies of all users. Code:
View 5 Replies
View Related
Mar 26, 2009
First the code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8"/>
<title></title>
<script type="text/javascript">
function TextScroll(scrollname, div_name, up_name, down_name, top_name){
[Code]...
When I use mouse wheel in Firefox to scroll contents of the DIV, memory usage in Firefox goes through the roof. Code above is a fully working page, if anyone would like to see what's up, just load it up, and start moving your mouse wheel in the area with text. You don't actually have to scroll the text, just moving the wheel back and forth in that DIV will do. Memory usage will start going up quite fast, and after you stop moving the wheel, it will finally come down a bit after a short while. I've highlighted in red the line where mousewheel event is registered for Firefox. I'm not sure if it's really a problem, but since Opera and IE don't have any strange memory usage, and Firefox does, maybe I did something wrong. In everyday use it shouldn't matter [don't expect to have kilometers of content to scroll], but anyway, it is a bit unsettling.
View 2 Replies
View Related
Dec 22, 2011
how to manage the script scope on a full ajax application Let me explain a scenario
- Pages are loaded dynamically in a div,
- pages are php files
- pages contains scripts tags (static and generated via php) depending on
context
Load Scenario :
1. master page load pages via $.load jquery function
2. page are inserted and the script is executed (mostly input events or live events)
when i select another page (just imagine a combo with all pages listed), the Load Scenario is executed again... the 2 js code line that matter in the master page
[Code]...
View 7 Replies
View Related
Jan 5, 2012
I can't seem to get the row striping working with my application. The table data is being pulled in via AJAX and for some reason that is interfering with the striping code. It's hard to debug also because the table info doesn't show up in a view source.
The code I am using for the striping and AJAX is:
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>
<script type="text/javascript">
$("tr:odd").addClass("odd");
</script>
[Code]......
View 2 Replies
View Related
Mar 30, 2006
I have strange situation, in my webb apps i use a lot of AJAX.
in my developer computer i use opera and naked apllication (it's using
Python Application Server cherrypy www.cherrypy.org), in production I
covered my application be Apache server which serves static files. The
problem is that AJAX working in Opera but only on production server
(cherrypy behind Apache), on developer machine it's not working. Others
browser (IE, FF 1.5.0.1) working without any problem. Does anyone know
solution for this? Or is is a way to lookup what is happen under Opera
engine? any plugin or something what shows AJAX status call?
View 1 Replies
View Related
May 6, 2011
I've googled the heck out of this, and although I'm finding plenty of solutions, I'm having trouble understanding them. I'm very new to jquery, and brand new to ajax. My problem is, I have a php application using several jquery effects. I've just started learning ajax and it is going really well, this stuff is incredible! But all the ajax loaded data loses the jquery effects. I get that it is a DOM issue, and I've seen that others have used "live" (i think?) to fix this, but I honestly just have no understanding of how toimplementanything that I'm seeing.
This is part of my ajax...
And this is the main effect I need to get working.
View 5 Replies
View Related
Apr 18, 2011
I have a code:
Code:
This is how XMLDoc looks before convert:[url]
After convert XMLDoc represents(checked with alert(XMLDoc)) an "object XMLDocument".
This code works fine with Firefox 4, but fails under Opera 11.10 with: Uncaught exception: TypeError: Cannot convert 'XMLDoc.getElementsByTagName("smf")[0]' to object
View 2 Replies
View Related
May 17, 2011
I have this script that I've been modifying, but somehow it doesn't work in Opera and Firefox!! IE, Safari and Chrome works just fine!
Code:
/**
* This function creates a Ajax call to the defined responce file and can run a defined javascript right after the innerhtml is loaded.
[Code].....
View 4 Replies
View Related
Oct 30, 2009
I am not a guru jquery coder and still have to learn alot, recently while learning jquery AJAX I have bumped into a weired issue, I have a apge right and in this page I have a dropdown list for people to select an RSS channel that they wish to know more about, the dropdownlist ahs an onChange event which when triggered it will get the value of the selected item in teh dropdownlist and post it to the other 'mini' pages that load on the same page via AJAX by using the GET method - ie: im passing the parameters like a normal querystring would. The problem is that when I assign the dropdown value to a variable called dropdown in the following line of code "var dropdown =document.getElementById('ddlChannelSelect');" it works in IE but not in the other browsers, I have debbugged this in FireBug and it seems that the variable dropdownlist is not actually getting the value of the actual dropdownlist nad it says 'null' or sometimes 'undefined'. Am I doing something wrong ? why is it that it is working in IE but not in other browsers ? can you pls give me a solution with some examples ?
[Code]...
View 4 Replies
View Related
Aug 8, 2009
The minimal AJAX script below works in Firefox, but not in IE, Opera, or Chrome.I could use some suggestions or referrals to resources that will help me get the script working in other browsers.Before there are six characters entered in the CAPTCHA code field, the 'Send' button is supposed to be disabled. When there are at least six characters in the CAPTCHA code field, the script attempts to verify the CAPTCHA w/AJAX. If it verifies, it enables the Send button and sets the background of the CAPTCHA code field light green (symbolic for go). Otherwise, it turns the background of the CAPTCHA code field a sort of pink/red (symbolic for no go). While it's waiting for a server response the background is set to a pastel yellow. At other times, the background of the code field is white.
View 1 Replies
View Related
Aug 6, 2010
How does this cross-domain request work in FireFox, Safari & Chrome and not in IE/Opera ?$(document).ready(function()
[Code]...
View 1 Replies
View Related
Aug 24, 2011
I have a shopping cart where if a user have problems of buying products or transactions, I want to give support via a chat programme. I want to reply users in different chat threads not like in a chat room as other people dont want to see others chat.I am new to this subject.
View 3 Replies
View Related
Apr 21, 2011
I'm writing an application with PHP that let me have statitics about visited pages for my web site. to save informations needed i use an ajax query with the unload event. The problem that i have is titme to time the script uses with that ajax query doesn't work especially when i stay long time in a page.
This is my code?
Why it works most of time but sometime doesn t work? is there any specifications to take for the unload event ?
View 11 Replies
View Related
Jan 27, 2007
I need help with this code. its a counter.
var count= 0
function onm() {
atextbox.value=ffee
count++
setTimeout(onm(),100)
}
And in the body:
<body onload="onm()">
<input type="text" value="0" name="atextbox">
</body>
I get always an error: Out of memory
View 3 Replies
View Related
May 2, 2006
I've been putting together a small pet project. Once it was finished i realised it had a gigantic memory leak inside of it. I tried to read up on the subject, but couldn't find the source of the problem via the articals.
This site is very simple, so I'd think idenifying (and hopefully fixing) the problem would be easy. Here is the relavent portions of JS (followed by links to the full page incase you need to see that): Code:
View 6 Replies
View Related