Javascript Can';在UglifyJS压缩后不要使用window.external.notify()

Javascript Can';在UglifyJS压缩后不要使用window.external.notify(),javascript,silverlight,windows-phone-8,windows-phone,Javascript,Silverlight,Windows Phone 8,Windows Phone,最近我使用UglifyJS压缩我的js代码进行测试。然后我发现在压缩之后,我不能使用window.external.notify()通知外部的WebBrowser控件。我的演示代码如下: function MyNotify () { try{ alert("Notify"); window.external.notify("Notify"); } catch (e){ alert(e.message); } } funct

最近我使用UglifyJS压缩我的js代码进行测试。然后我发现在压缩之后,我不能使用
window.external.notify()
通知外部的WebBrowser控件。我的演示代码如下:

function MyNotify () {
    try{
        alert("Notify");
        window.external.notify("Notify");
    } catch (e){
        alert(e.message);
    }
}

function MyNotifyCompressed(){
    try {
        alert("Notify"), window.external.notify("Notify");
    } catch (e) {
        alert(e.message);
    }
}
然后我调用
WebBrowser.InvokeScript(“MyNotifyCompressed”)
,它会向我发出如下警告:

对象不支持此操作


为什么压缩后我不能调用
window.external.notify()
方法?

我们遇到了同样的问题。似乎是Windows Phone上IE中的解析错误。问题是默认情况下,UglifyJS将分号替换为逗号,这会导致奇怪的错误

禁用序列选项为我们解决了这个问题。从文件中

sequences:true,//使用“逗号运算符”连接连续的statemets

将该选项设置为false将使IE感到高兴

如果使用Grunt,请将其添加到丑陋选项:

compress: {
    sequences: false
}