Javascript Can';在UglifyJS压缩后不要使用window.external.notify()
最近我使用UglifyJS压缩我的js代码进行测试。然后我发现在压缩之后,我不能使用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
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
}