What causes the error "Can't execute code from a freed script"

internet-explorer, javascript

Solution

You get this error when you call a function that was created in a window or frame that no longer exists.

If you don't know in advance if the window still exists, you can do a try/catch to detect it:

try
{
  f();
}
catch(e)
{
  if (e.number == -2146823277)
    // f is no longer available
    ...
}

Problem

I thought I'd found the solution a while ago (see my blog): If you ever get the JavaScript (or should that be JScript) error "Can't execute code from a freed script" - try moving any meta tags in the head so that they're before your script tags. ...but based on one of the most recent blog comments, the fix I suggested may not work for everyone. I thought this would be a good one to open up to the StackOverflow community.... What causes the error "Can't execute code from a freed script" and what are the solutions/workarounds?

Original source