There are other minifiers out there;
[ Link to project removed due to incredibly rude email from its author ]
Another advantage of the syntactical parsing is that we stand a better chance of safely altering identifier names. This still has serious limitations though, because the code is still not actually being executed there are many situations that could result in disaster. The current version obfuscates all explicitly named, top-level entities, such as function names, function arguments, labels, and variable declarations. Member expressions are particularly problematic, and so I have not attempted to obfuscate these. I may at some point in future work on improving this, but as this is only a side project, I am not going to hold my breath.
You can always take additional steps in your original code to better preprare for effective obfuscation. Consider this;
var myDocument = document; var myElement = myDocument.getElementById('myId');