I particularly like your++ short functional solution.
As for the IE problem… it seems it is more averse to the remove of the original node (also implicite in the original solution with insertBefore.)
So here is a workaround for the IE, avoiding the remove by inserting a cloneNode and display:none the original node.
<script type="text/javascript"> ( function() { var td = document.getElementById( 'nodelet_container' ).parentNode +; var tr = td.parentNode; tr.insertBefore( td.cloneNode(true), tr.firstChild ); td.style.display= "none"; } )(); </script>
This being a workaround has a shortcoming: The script interferes (aborts) the cloneNode, effectively cutting the nodelet tower under "Free Nodelet" at its base. So the "Free Nodelet" has to be the last (highest number) in your nodelet settings.
Mixed users (FF/IE/...) might use this out of the box, or can use a browser switch as in:
<script type="text/javascript"> ( function() { var td = document.getElementById( 'nodelet_container' ).parentNode +; var tr = td.parentNode; if (document.all) { // IE tr.insertBefore( td.cloneNode(true), tr.firstChild ); td.style.display= "none"; } else { // w3c tr.insertBefore( td, tr.firstChild ); } } )(); </script>
also avoiding the free nodelet cut in non-IE.
In reply to Re^4: Free Nodelet Hack: Nodelets on the left
by pKai
in thread Nodelets on the left?
by Argel
For: | Use: | ||
& | & | ||
< | < | ||
> | > | ||
[ | [ | ||
] | ] |