I know. It is possible to dynamically load JavaScript and style sheet file into header of document. In the other hand, it is possible to remove script and style sheet tag from header of document. However, loaded JavaScript is still live in memory.
Is it possible to destroy loaded JavaScript from web browser memory? I think. It should be something like the following pseudo code.
// Scan all variables in loaded JavaScript file.
var loadedVariable = getLoadedVariable(JavaScriptFile);
for(var variable in loadedVariable)
{
variable = null;
}
// Do same thing with function.
Is it possible to create some JavaScript for doing like this?
Thanks,
PS. Now, you can use xLazyLoader and jQuery for dynamic loading content.
If the loaded script is assigned to a
windowproperty, for instance with the module pattern like so:or
or
Then you can delete the property that references it:
…which removes at least that one main reference to it; if there are other references to it, it may not get cleaned up.
If the
varkeyword has been used:…then it’s not a property and you can’t use
delete, so setting toundefinedornullwill break the reference:You can hedge your bets:
In all cases, it’s up to the JavaScript implementation to determine that there are no outstanding external references to the loaded script and clean up, but at least you’re giving it the opportunity.
If, as Guffa says, the loaded script doesn’t use the module pattern, then you need to apply these rules to all of its symbols. Which is yet another reason why the module pattern is a Good Thing(tm). 😉