我已经使用了一些过去曾为我工作过的网络缩放器。我刚刚尝试缩小原型版本1.6.0.1 - 我已将original放在此处,minified放在此处。
js文件缩小后我从firebug得到的错误是:
missing } after property list
ept': 'text/javascript,text/html,appli...estHeaders=='object'){var extras=this.
我不明白为什么这没效果。我已经缩小了JQuery并且它有效。这是我第一次尝试缩小原型,我的意思是它应该正常工作,它只是删除空格和注释!
非常感谢所有人
答案 0 :(得分:4)
您使用的缩小器会将/*
和*/
之间的所有内容视为注释,但会查看第1244行至第1254行(来自original script):
'Accept': 'text/javascript, text/html, application/xml, text/xml, */*'
};
if (this.method == 'post') {
headers['Content-type'] = this.options.contentType +
(this.options.encoding ? '; charset=' + this.options.encoding : '');
/* Force "Connection: close" for older Mozilla browsers to work
* around a bug where XMLHttpRequest sends an incorrect
* Content-length header. See Mozilla Bugzilla #246651.
*/
if (this.transport.overrideMimeType &&
第一个/*
在引号内,它应该不管它,您应该更改代码中*
旁边的ept': 'text/javascript,text/html,appli
并粘贴丢失的文本,而不是:
'Accept': 'text/javascript,text/html,application/xml,text/xml,*if(this.transport.overrideMimeType&&
你应该
'Accept': 'text/javascript,text/html,application/xml,text/xml,*/*'};if(this.method=='post'){headers['Content-type']=this.options.contentType+(this.options.encoding?'; charset='+this.options.encoding:'');if(this.transport.overrideMimeType&&
考虑将您正在使用的缩小器更改为更少的错误。
我用yuicompressor
缩小了你的脚本,生成的文件比你的文件小3K,你使用的minifier在可以省略的地方留空格。在这里查看:Prototype JavaScript framework, version 1.6.0.1, minified using yuicompressor
答案 1 :(得分:0)
我将minify用于我的一个项目,并将原型,scriptaculous,jQuery和一些插件组合到一个缩小的文件中。它没有任何错误。