Found a way to solve it, by using a little workaround with eval command.
Firtly, I created these global variables:
var is_IE_browser = eval('/*@cc_on !@*/false');
var jscript_version = (is_IE_browser) ? eval("/*@cc_on @_jscript_version @*/") : (0);
var IE_version = (is_IE_browser) ? (get_IE_version()) : (0);
And then, I created this function:
function get_IE_version(){
var IE_version;
if(jscript_version == 5.6 || (jscript_version == 5.7 && navigator.userAgent.toLowerCase().indexOf("msie 6.") != -1)) {
IE_version = 6;
} else if(jscript_version == 5.7){
IE_version = 7;
} else if(jscript_version == 5.8){
IE_version = 8;
} else if(jscript_version == 9){
IE_version = 9;
} else if(jscript_version == 10){
IE_version = 10;
} else {
IE_version = 0;
}
return IE_version;
}
By doing this, now I can replace all Conditional Compilation code (cc_on) with a few conditions using the variables above.
The variable "is_IE_browser" will return true if browser is IE, and false if not.
The variable "IE_version" will return IE version number if browser is IE, and zero if not.
Using this code, I can detect reliably most IE browsers (except IE6, that needs a little search on browser user agent data, and it's vulnerable to browser sniffing, but I can live with it).
This way, I can detect older browsers fine, and continue using yuglify without having my JS file damaged.