Memory Leak - Listener Objects Won't Receive Any Updates
Sep 12, 2009
I have a page that dynamically loads and unloads whole sections and creates complex links between various objects and have never been sure exactly what happens when an object that is being observed is deleted from the DOM. Since there is no longer any link to deleted objects, the listener objects obviously won't receive any updates, but do the underlying "listener" connections get purged as well? I guess it would depend on whether the listening mechanism is part of the listened-to object or is maintained in a separate area of the browser.
View 1 Replies
ADVERTISEMENT
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
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
Mar 26, 2006
I was wondering how good is JavaScript with memory management. I have
an object called MANAGER that has a list of other objects, each one
managing a single DOM nodes, etc. In my implementation of
MANAGER.reset(), I simply recreate my MANAGER.object_list = new
object(); and do a single MANAGER.domnode.innerHTML = '' as apposed to
getting my hands dirty. Is my app leaking memory?
View 4 Replies
View Related
Nov 20, 2006
Internet Explorer leaks memory when I update a div container using
innerHTML, this does not occur in firefox. This would not be a problem
except the webpage is required to be left on for weeks on end without
being restarted. I presume the issue with innerHTML is that Internet
Explorer apparently parses what you give it and then decides on how to
construct the dom elements itself, so never truely creates what you
give it.
I know that the innerHTML is the problem as I have successfully
narrowed down the leak to that line. It only leaks memory when I assign
content to the innerHTML of my containing DIV. Appending a text node,
for example, with the exact same information to the same div does not
leak. Note I have also tried using such existing AJAX packages like
Prototype etc. but to no avail.
I need to do it this way as my XML documents are styled using an XSL
stylesheet and then transformed using transformNode [I will omit
details regarding firefox as there is no problem there]. I have looked
into transformNodeToObject as a way to get a dom object that I
originally assumed could be appended [as a child] to my containing
element. This did not work and gave me compatibility errors.
I suppose I am either looking for someone who has solved this problem,
or who has an acceptable work around. Or someone to say that it cannot
be solved.
View 2 Replies
View Related
Jan 19, 2010
Do the latest browsers still need this? I could find an article about IE8 which states that its garbage collection has improved so circular references shouldn't be a big problem any more.Reason for asking is that I maintain an JavaScript / AJAX framework and we are currently optimizing our code which contains a lot of code to remove references from and to the DOM and to remove event listeners.
View 1 Replies
View Related
Feb 19, 2010
Below is my code which refreshes every 10 seconds
[Code]...
What happens there is a memory leak of the divs with idsliveAuthen-target-1000 andliveAuthen-content-1000
View 6 Replies
View Related
Oct 3, 2007
I posted this originally in the csharp group, but I think that may be the wrong group. This seems more appropriate:
I'm running into an issue with a memory leak in an Asp.Net web page.
In the code behind (.cs) I'm adding onchange, onblur and onfocus events to a bunch of objects that reside on my page (textboxes and dropdownlist).
After using Drip i've found that these are leaving open DOM objects....
View 9 Replies
View Related
Mar 12, 2010
I have started using jQuery recently and I am having a problem with IE leaking memory when performing a $.getJSON() request at intervals. To test the problem I set up the code to run every second. The only code I currently have running is the ajax request as below:
getDetail = function(detailID){
$.ajaxSetup({ cache: false });
$.getJSON("api/urlgoeshere", {"dID" : detailID,"d" : 0},
[Code].....
If I leave the above running the Memory Usage climbs by about 5mb a minute in IE but is ok in Firefox. I am using jquery-1.4.2. Has anyone come across this before?
View 1 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
Mar 13, 2007
I am working with Netscape 7.0 and need to bind a <divwith the
innerHTML property. More specifically, I need to bind a GridView in
the div in question. I am binding the div with some hardcoded data (a
table, which is the HTML equivalent of a GridView). Is there a way
with javascript to dump the memory used by a DOM object (the div that
I am binding with innerHTML)? When i just receive the variable in
javascript, it doesnt seem to leak. I have tried removing and adding
the div each time I bind to it, but it still leaks.
Here is the code:
View 2 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
Jul 4, 2009
I'm writing a very complex javascript application and I'd like memory usage to be as low as possible, so I've got a question about objects.
I'm using jQuery and my code is a bunch of jQuery plugins that interact with eachother. Will there be a difference in memory usage if I declare functions like this:
I haven't written anything in javascript as complex as I'm about to write, so I never worked with objects. As far as I understand, $.fn.whatever will add function to prototype, while $.whatever will add function only to one entry of jQuery object.
So question comes down to this: when jQuery object is being created, are functions in it being copied (meaning increase in memory usage) or does javascript only make references (meaning no significant increase in memory usage) to one main entry of that function in prototype?
View 3 Replies
View Related
Oct 29, 2009
Can anyone tell me how I can recieve a PHP array after running $.ajax()? [code]...
View 5 Replies
View Related
Jan 4, 2010
i need to enter either capital or small letter the input should be accepted.
The code is written below:
var Alphabet;
Alphabet= prompt("Enter an Alphabet");
if(Alphabet == "a" || Alphabet == "e" || Alphabet == "i" || Alphabet == "o" || Alphabet == "u")
[Code]....
View 2 Replies
View Related
Mar 12, 2011
I am trying to receive the output of an array from a text input here is the code that I am attempting to do but it is not displaying the output January
Here is the code example
[CODE]
<html>
<script type ="text/javascript">
<!--
function coms(str){
[Code]....
View 2 Replies
View Related
Oct 12, 2005
The purpose of these scripts are to allow you to send forms using javascript. If your server doesn't support scripting languages like php or perl, or if you are unfamiliar with those languages, then this is an easy alternative for you.
When you send a form using the mailto: command, the data gets sent using the post method and in the process gets reformatted. When you receive the form data in your email it will contain hexadecimal characters, spaces will be replaced with + signs, and each value will be separated by an & sign.
You have two options when sending a form with javascript. Either you can reformat the data before it's sent. Thereby creating an email that is legible upon receiving it. Or you can reformat the data after you receive the email. I have posted both methods on this page.
Option 1: REFORMAT AFTER
Create your form using the following syntax:
<form name="NameOfYourForm" method="post" action="mailto:yourname@yourdomain.com">
<!-- your input tags go here -->
<input type="submit" value="Send">
</form>
Then download the attachment to this post. Open the file in your web browser. When you receive the email containing the form data, just select it all and copy it. Then paste the data into the "hexadecimal value" box. Click decode to convert it to ascii. Then click split to remove +'s and to split data onto multiple lines. Use the "add html" checkbox to make the output viewable in your web browser.
NOTE:
The first input tag that you use in your form will become the <title> if you use the html option. So if your first input tag is name="Name" value="Joe Smith" then the html title will appear as <title>Name: Joe Smith</title>.
View 3 Replies
View Related
Jan 17, 2011
I have two input boxes on a form which receive the first and last name of a user. I want to be able to use charAt() to get the first letter in each box and pass it a third box on the same form. is this doable? May I request some help? I was thinking something like the function below would be the starting point --I stand correct, as it is not working.
<script type="text/javascript">
var str="Mossa";
<!--document.write(str.charAt(0));-->
document.write('<INPUT TYPE=text size=2 VALUE="str.charAt(0);">');
var str="Barandao";
[Code]...
View 4 Replies
View Related
Aug 19, 2009
I'm having a problem with Windows Mobile 2003 and AJAX. I'm using Windows Mobile 2003 because it is the earliest version of Windows Mobile I'm willing to build support for.
Basically, in Windows Mobile 2003, AJAX doesn't work if your response is only one character.
So I want to know if I can append something to the response string so I don't receive an error?
I would hate to have to re-program all the thousands of lines of code I have just because Windows Mobile 2003 isn't working.
I've already tried doing:
xmlHttp.responseText += "0";
This doesn't work because IE will throw an error since I cannot do anything with "responseText" since IE does not think AJAX is done (even though status = 200, and readyState = 4) because the responseText is too short. I tried it with two characters instead of one, and it started working again, so I know this is the bug.
When responseText is only one character, the typeof(xmlHttp.responseText) is unknown, but when it's at least two characters, it will show the type as "String."
View 1 Replies
View Related
Aug 15, 2011
I have a web service that accepts application/json but returns HTML to place in a DIV. I am not having any luck configuring the .ajax call so that it both POSTs in a format accepted by the web service and does not attempt to validate the HTML response as JSON.
[Code]...
It would seem that I cannot have anything other than 'json' in the dataType, even though from the docs it appears that this only affects the interpretation of the response, changing it's value to 'html' causes the web service to reject the call. I've also tried a converter but perhaps I'm not using it properly. Is it possible to use jquery to post JSON and get back HTML? What configurations am I missing?
View 2 Replies
View Related
Dec 11, 2006
I'm using Drip 0.5 to test for a memory leak in some code. After reducing
the page down bit by bit to find the leak, I ended up with an empty page
that still leaked!
The page source is exactly this:
<html>
<head><title></title></head>
<body></body>
</html>
It doesn't leak the same amount each page load - sometimes it's 8192,
sometimes it's 16384, sometimes even reducing the memory load. But the
overall trend is an upward movement. I let it run for 10 minutes and it
leaked almost 10MB, so it's about 1MB/min.
This is not a serious leak, but it's making it harder to know if a leak is
caused by the js code or this other thing going on.
Has anyone else run into this? Any ideas what the problem is? I've shut down
all processes, removed all IE add-ons, etc, but no change.
View 1 Replies
View Related
Apr 17, 2011
Is there a way in Javascript or Jquery to return an array of all objects underneath a certain point, ie. the mouse position. Basically, I have a series of images which link to various web pages but I have a large semi transparent image positioned over the top of the other images. I want to find the href of the background image that the mouse pointer clicks over.
View 1 Replies
View Related
Oct 6, 2003
I've got a site that I want to update frequently and change leader sentences around when I want through different subpages without going and changing the HTML on every page. I'm thinking I could use JS and define variables as my "blurbs" and links and then they'd set up across all the pages as defined. Or I could dive into more of an understanding of PHP & mySQL (i know some basics). Any advice/suggestions?
View 2 Replies
View Related
Dec 3, 2009
I'm coding in Dreamweaver CS3 on a Mac, and am running latest Firefox I am in the DOM chapter of SitePoint's "Simply Javascript", where I'm learning how javascript references elements/nodes from the html (much like CSS) PROBLEM: I am failing to receive browser alerts in the following situation
[Code]...
I'm expecting to get browser alerts saying 'p' and 'this is a test of js...', respectively I get nothing, and nothing on refresh NOTE: when I leave the .properties off target, i do get an alert that reads 'null' Q. is my .js running before the HTML has completely loaded? oorrr am i missing something really basic?
[Code]...
View 9 Replies
View Related
Feb 22, 2006
i would like to add a feature to my website where by i can just enter in say 30 different lets say quotes or sayings or something into a database and for the computer to either cycle throught them one by one ... so each day wil hav a new saying or
for it to randomly pick a saying from database every time page is loaded...
View 2 Replies
View Related
Sep 5, 2009
Is there a better way to extend object with internal objects?
$.fn.bestShow = function(s) {
var d = {
width: 0,
height: 0,
order: "numeric",
orderBy: "",
[Code]...
View 3 Replies
View Related