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