当有一个jquery脚本运行正常且没有错误然后压缩并上传然后返回错误时,有人可以解释一下吗?
非常感谢。
编辑使用jsLint的唯一错误是:
错误:
全球隐含意外:$ 3,25,27,28,31,32,34,35,36,38,45,46,47,49,50,61,63,64,65,67,71,75 ,79,83,87,91,94,95,96,98,101,102,103,111,113,114,115,121,123,124,125,127,130,131,132,142,144,145,146,147,148,149,150,151,152,153,154,155,171,173,174,175,177,180,181,182,192,194,195,196,197,198,199,200,201,202,214,216,217,218,220,223,224,225,234,240,241,242,243,244,245,246,247,248,249,250,251,253,254,255,256,257,258,259,260,窗口7,警报56,106,137,187,230,文件234
这导致它在jQuery中猜测
答案 0 :(得分:1)
很可能你在某些行上缺少语句终止符;
,例如,即使我没有指定代码,代码也会正常运行:
$(....).click(function(){
.....
}) <-- // no `;` char here
甚至这个:
alert('hello') <-- // no `;` char here
但是当你压缩它,并且忘记将该角色放在某个地方时,你会收到错误。
除了任何可能的问题之外,请确保您的脚本不是这种情况。
答案 1 :(得分:1)
可能是因为脚本中的错误在未压缩脚本时不会导致任何问题。
我建议您尝试在脚本上使用jslint来验证它是否正确。
答案 2 :(得分:0)
JSLint的替代方法是JavaScriptLint。也值得一试。你在浏览器中遇到了什么错误? Firefox的Firebug应该为您提供错误消息的更多详细信息。
答案 3 :(得分:0)
我不确定您使用什么来压缩您的javascript,但我注意到使用Google Closure compiler它本身并不遵循“规则”。
鉴于此代码:
var t = true;
if (t) { alert("it's true!"); }
在JSLint中没有错误(“隐含的全局:警报2”除外)
如果我使用“who whitespace”设置对其进行压缩,则结果为
var t=true;if(t)alert("it's true!");
当然是优化的,但现在给出了一个JSLint错误。