Sex*_*ast 0 javascript gwt conditional-compilation jsni
我有这个条件编译语句,它评估浏览器是否IE:
ie = /*@cc_on!@*/false;
if (ie) {
//do IE specific stuff..
}
Run Code Online (Sandbox Code Playgroud)
我需要在JSNI中的GWT中使用它.但是当我这样做时:
public native void JS() /*-{
ie = /*@cc_on!@*/false;
}-*/;
Run Code Online (Sandbox Code Playgroud)
我在该行上收到错误,如语法错误,}预期.我试过了,eval但仍然存在错误.我该如何解决?
/*@cc_on!@*/不是正则表达式,而是多行JavaScript注释(/* .. comment .. */).在Internet Explorer中,这不仅仅是一个评论.解析和评估代码(此功能称为条件编译).
在*/你的代码结束特定GWT- /*-{部分,导致错误出现.
解决方案是使用不同的方式写下评论:
var ie = false;
//@cc_on ie = true;
Run Code Online (Sandbox Code Playgroud)
另一种方法,也可以安全地防止JavaScript minifiers:
var ie = eval('/*@cc_on!@*'+'/false');
Run Code Online (Sandbox Code Playgroud)