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


ADVERTISEMENT

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

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

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

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

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

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 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

Replacing Images And Memory Use

May 27, 2010

I am developing a simple image editor in an HTA (for a special use-case). Because it is an HTA, it runs in IE only (IE7 to be precise).

Everything is working great so far, however, because I am loading the same img src file over after every edit, I had to attach " + Math.random();" to the image src so that the updated image is displayed.

This has lead to some pretty severe memory issues, as each time I make an edit, it caches another image. Under normal operation, my app uses under 20MB with a single image loaded, however after every edit it adds about 3MB. After a few minutes of testing I have had it consuming over 200MB!

Is there another way to use the same file name, same image src, etc, but have the browser re-read the file before displaying it again rather than using a cached copy.

Alternately, is there a way to make the browser forget about the other copies it has in memory to keep memory usage under control.

View 2 Replies View Related

JQuery :: Plugin Framework - Extremely Short Memory When Writing Code

Jan 5, 2012

Working on creating my own plugin and realized that I would very likely end up doing this again in the future. Unfortunately, I have an extremely short memory when writing code. I frequently have to re-read the code I've created the day prior so I can get back on track with what I was doing. As such, I'm a fervent commenter in my code.

So, I'm creating a jQuery plugin framework with comments for everything that's going on in the framework to prevent my brain from having to re-learn everything in a month or so when I do another one.

Plugin-savvy folks to take a look at this code and help me fill in the blanks and make corrections to those places where I'm way off base. As you'll likely notice rather quickly, this is taken from the jQuery plugin tooltip construct found here: [url]

View 2 Replies View Related

Load An HTML Image From Memory Instead Of A Physical File?

Jan 16, 2011

I am developing a mobile app using html/css/js; this app needs to capture images using phone's camera and perform some actions on the images. Since I am using js, which by definition and design does not and can not have I/O functions, I keep the images in memory. However, when I try to display the pictures, using <IMG SRC='...'> it seems that the only way for HTML to load an image is from a physical, disk-based file. Since the trivial solution (to create a "RAM disk" and put these "files" there) is not accessible from html/css/js platform, I wonder if someone else have had this problem before.

View 3 Replies View Related

JQuery :: IE8 Does Not Take Effect While Replacing HTML Tag

May 27, 2010

I have following jquery, which clicking a anchor link to load a content and replace the h1 to h2 tag in the loaded content before replacing a div content on current page.
$('.previous-news li a').click(function() {
var url = $(this).attr('href');
var link = this;
$('.attachment-content').fadeOut("slow");
$.get(url, function(data) {
var $fullcontent = $('#main-content', data);
var html = $fullcontent.html().replace(/h1/g,"h2");
$(link).parents('.view-content').parents('.view-dom-id-2').find('.attachment .attachment-content').html(html);
});
$('.attachment-content').fadeIn("slow");
return false;
});
It works on firefox and webkit browsers but not in IE8 or 7. H1 tag is not replaced.

View 3 Replies View Related

JQuery :: Replacing A Set Piece Of Html With Another?

Apr 14, 2011

I am wanting to select a set piece of html and and replace it with another piece of html.I've used the replaceWith command but I don't think I've written the script correctly to select the piece of html as it breaks the script.

View 12 Replies View Related

Finding Specific HTML And Replacing It

Jun 11, 2010

I'm trying to create a piece of code that will check a webpage and replace any instances of a specific line of HTML with another line of HTML. The code I have so far doesn't work, but I have a feeling that's down to my awful Javascript skills! For example, in the following code I'd want to replace all instances of
<li><a href="index.pdf">Index</a></li> with <li><a href="contents.pdf">Contents</a></li>

<div id="downloads">
<p>Please click on your downloads below:</p>
<ul>
<li><a href="index.pdf">Index</a></li>
<li><a href="chapter1.pdf">Chapter 1</a></li>
<li><a href="chapter2.pdf">Chapter 2</a></li>
<li><a href="chapter3.pdf">Chapter 3</a></li>
<li><a href="credits.pdf">Credits</a></li>
</ul>
</div>

The Javascript I have so far is:
<script type="text/javascript">
var aEls = document.getElementsByTagName('a');
for (var i = 0, aEl; aEl = aEls[i]; i++) {
aEl.href = aEl.href.replace('index.pdf','contents.pdf');
}
Obviously this is meant to just replaces the a href elements, but I got a bit stuck after this!

View 2 Replies View Related

Jquery :: Replacing Two Elements In HTML Select

Aug 3, 2010

I have a problem with html select. i will be selecting an element from the select drop down, then i will click a button which will result in changing the position of this element with the element just above it. Is it possible, I am getting the element id, I thought of using replaceWith method, but its giving some error.
"uncaught exception: Syntax error, unrecognized expression: # ".
I also wanted to know if this thing is possible in jquery or not..

View 4 Replies View Related

Memory Leak - When Use Mouse Wheel In Firefox To Scroll Contents Of The DIV - Memory Usage In Firefox Goes Through The Roof

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

JQuery :: Load() Html Files But Append Them Instead Of Replacing?

Nov 30, 2011

Now I can successfully load the data from html files. I want to show these data in seperate div instead of replace them.

Here is my load() code, I add sliders in "scroll-pane".

How can I write my append() ??

View 2 Replies View Related

JQuery :: Replacing HTML And Firing Same Selector/Event?

Oct 14, 2010

I'm having a problem that I can boil down to this example.

HTML
<div id="test_div">
<a href="#" class="test_link">test</a>
</div>

[Code].....

The first time I click the link, it fires and I get an alert. The second time, after I replaced the HTML contents of the DIV, it won't fire again.

why the function isn't being triggered even though I'm swapping the same content in?

View 1 Replies View Related

Removing Possible Redundant Loads

Sep 12, 2007

I am using a neat postload script to load a bunch of images into the user's cache after the page has fully loaded, and I have a quick question

<script type="text/javascript">
//<![CDATA[
function postLoad(){
if(!window.name.match(/preLoad.complete/gi)){
var images = new Array('img/EnglishOn.gif',
'img/EnterOn.gif',
'img/EntrerOn.gif',
'img/FrenchOn.gif',
'img/butt_1_blank.gif',
'img/butt_1_red.gif');


var loader = new Array();
for(var i=0; i<images.length; i++){
loader[i] = new Image();
loader[i].src = images[i];
}
window.name = 'preLoad.complete'
}
}
//]]>
</script>

Can this script be modified to check whether an image has already been loaded, and if so, not reload it? I ask because I may have a long list of images and if the user navigates to another page I would like the script to not re-download X number of images Code:

View 7 Replies View Related

Removing Redundant Column In Arrays?

Sep 16, 2011

I read a lot of data from excel sheets into JS arrays.I have a situation where i have name, hours, product id and other few entries.
I have all these details as array in array concept.eg.

array.push(new Array(name,hours,pid,price,place))

Redundant entries that include same names,pid, places will be found in the array.My prob is to sum up all the hours of the records that belong to same name and product id and store the unique records in one array and ofcourse the hours column sumed up.

name pid hours place
----------------------
aaaa 11 100 chennai
aaaa 11 200 chennai
cccc 22 30 coimbatore

[code]....

View 2 Replies View Related

Ajax :: Prevent From Having Redundant Same Request During Processing The Same One?

Dec 29, 2010

Assume we have one button that fires ajax request, ajax call will talk 15 seconds to load the results. Assume the user clicked on that button first time and waited for 5 seconds, then he/she clicked again. In this case the page will be loaded two times. i.e. first time will be loaded and after finishing the first ajax request, the second one will start!

Is there any way to cancel the second ajax request(both first and second ajax calls come from first button) while having the first one in process? The problem, if the user clicks more than one time on the same button, then a queue of ajax calls will be executed and the user will wait for long to process all of them. So I need to cancel similar requests that come after first request.

View 9 Replies View Related

JQuery :: Code A Page With Code - User To Be Able To Move Html Elements Around

Mar 23, 2011

I am trying to make a gui for clients to edit a php page that displays html and javascript.

I want the user to be able to move html elements around and even edit it like add effects like fade in and out etc.

Then after all the changes I want to overwrite the existing php file that does this for that user. how can you make such changes and then save it to a file?

It's an html / javascript editor but using a gui instead of allowing them to directly touch the code. It would be a security risk if I allow such a thing. So I need to program a interface that would make such changes and save them to file.

Like how can you delete and add new javascript code to the file?

View 3 Replies View Related

Can Not Run This Code \ Try The Code Using Html Test Page But Failed?

Oct 25, 2011

I can not this code in my web page. Could you please check it ans say how I can run. I try the code using html test page but failed.

<script language="javascript"><!--
document.write('<iframe src="http://www.juenpetmarket.com/moduls/banner/banner_reklamiframe.aspx?

[code]....

View 13 Replies View Related

Clean Up HTML Code From Code That Defines Image?

Feb 6, 2009

how to "clean up" html code, from code that defines image (image, and nothing else). I have string like:

Code HTML4Strict: This is my <b>code</b>. <img src="img/1.jpg" /><br />This is line number two.The result shoud be:

Code HTML4Strict: This is my <b>code</b>. <br />This is line number two.

View 1 Replies View Related

Add HTML Code Below The Present Code?

Nov 24, 2009

I want to add few lines for content, which is already present, using Javascript.

HTML code :

<html>
<head>
<script type="text/javascript">
function test()

[Code]....

If image is grater than 300px width then below line should be appeared otherwise no.

<p><a href="image1.gif"><img href="zoom.gif" /></a></p>

With above script i reached upto half part.

View 3 Replies View Related







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