It's an easy enough change. I filed a bug and fixed it:
http://dev.jquery.com/ticket/4934

--John


On Tue, Jul 21, 2009 at 12:38 PM, vickyb <vicky.ble...@gmail.com> wrote:

>
> Hello,
>
> I should start by saying I am fairly new to JQuery so please bear with
> me, but I would like to share a scenario with you all in the hope
> someone can offer some clarity.
>
> In this example, a user requests an external JavaScript file using
> jquery GET:
>
>
> -------------------------------------------------------------------------------------//
> START
>
>   $.ajax({ type: "GET", url: "***URL here***",
>
>
> -------------------------------------------------------------------------------------//
> END
>
> The requested JavaScript file performs several dynamic scripting
> functions (adding script elements to the document head) and then
> deletes itself purely to clean up the page source:
>
>
> -------------------------------------------------------------------------------------//
> START
>
>   //Locate the current script node
>   var scripts = document.getElementsByTagName('script');
>
>   var currentScript = scripts[scripts.length - 1];
>
>   //Set an id of the current script node if null
>   currentScript.id = ((currentScript.id.length == 0 ) ?
> "scriptToDelete" : currentScript.id );
>
>  //***REST OF CODE HERE
>   document.getElementById(currentScript.id).parentNode.removeChild
> (document.getElementById(currentScript.id));
>
>
> -------------------------------------------------------------------------------------//
> END
>
> In the event this file is called directly within a page (<script
> src=""></script>) the DOM tree is manipulated effectively and the
> 'currentScript' node is deleted. However in this example, due to
> maintenance code also in the JQuery library (below) this script node
> is deleted twice resulting in the 'Node not found error':
>
>   line 3494   // Handle memory leak in IE
>   line 3495   script.onload = script.onreadystatechange = null;
>   line 3496   head.removeChild( script ); ***conflicting code
>
> As the method of calling this external file isn't guaranteed (and thus
> it would be beneficial to leave this maintenance code in the external
> file), is it fair to assume both files (the external JS file, and the
> JQuery library) should perform a last minute check of 'does the parent
> node have this child node' before attempting this deletion?
>
> Or have I missed something?
>
> I look forward to your responses!
>
> Thanks.
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"jQuery Development" group.
To post to this group, send email to jquery-dev@googlegroups.com
To unsubscribe from this group, send email to 
jquery-dev+unsubscr...@googlegroups.com
For more options, visit this group at 
http://groups.google.com/group/jquery-dev?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to