Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 8227331
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: June 7, 20262026-06-07T16:05:41+00:00 2026-06-07T16:05:41+00:00

Have a complex client-side template system where resources are loaded via XHR (as strings)

  • 0

Have a complex client-side template system where resources are loaded via XHR (as strings) and then injected into DOM.

For Javascript insertion up until now we were dynamically creating script tags and appending them to the DOM, not only for speed in modern browsers but also because this makes it possible to cleanup/remove the scripts once the template is not needed any more.

However – it seems that in older browsers and IE (even the latest 10 version) in particular window.eval() is a lot faster in evaluating code than just injecting it via new tags – like 10x as fast. Even IE-native execScript is a lot slower than eval.

I’d try optimizing it to use eval for performance gain in IE, however I don’t see any way to reference or/and remove such evaluated Javascript afterwards. If anyone has any ideas on how to go about this – would appreciate it.

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-06-07T16:05:43+00:00Added an answer on June 7, 2026 at 4:05 pm

    For Javascript insertion up until now we were dynamically creating script tags and appending them to the DOM, not only for speed in modern browsers but also because this makes it possible to cleanup/remove the scripts once the template is not needed any more.

    I think you may be misunderstanding something there. Removing a script element does not remove the script it contained from the JavaScript context it was loaded into: http://jsbin.com/ujirat

    However – it seems that in older browsers and IE (even the latest 10 version) in particular window.eval() is a lot faster in evaluating code than just injecting it via new tags – like 10x as fast…however I don’t see any way to reference or/and remove such evaluated Javascript afterwards.

    It’s exactly the same as script loaded via script tags: The only way to “unload” it is to remove all references to it, which makes it eligible for garbage collection. The best way to do that is to have your scripts define a single, global symbol that contains all of the functionality of that script, e.g.:

    var foo = (function () {
        var f = {};
    
        f.foo = function() { ... };
    
        f.bar = function() { ... };
    
        return f;
    })();
    

    You can then “unload” that by doing:

    foo = undefined;
    

    …provided it doesn’t give out references to itself that that doesn’t clean up (such as setting up event handlers or other closures).

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have a complex RIA client that communicates with a WCF SOAP web service,
I have a slightly complex problem here. I need to show to the client
I have a website which uses SVG for an interactive client side thingamabob. I
I'm creating a web site that I think must have a client side database.
We are working on complex solution that contains ASP.Net-based server-side and several client applications
I have a class with a complex construction process with many parameters. Multiple clients
I have complex GUI application written in Python and wxPython. I want it to
I am using WCF and REST, and I have complex types, which are working
I have some complex message to show inside of a flash message so instead
We have a complex app that serves AJAX JSON streams (using ADO to grab

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.