我正在使用Rails 3.2.6并试图集成Rails S3 Fancy uploader,我认为这可能是一个误解,我如何使用原型,jquery和mootools在相同时间,或只是将其迁移到更新版本的Rails。Jquery,原型,mootools和rails 3花式上传器
我已经包括资产管道(prototype.js中& mootools.js库位于/资产/ JavaScript的文件夹,以及所有的源文件“fancyuploader”类似于后恢复正常的jQuery在noconflict模式如何/公用文件夹定向在GitHub库):
<%= javascript_include_tag "application" %>
<script type="text/JavaScript>
jQuery.noConflict();
</script>
不过,我还是得到了很多不确定的错误,我认为它与资产被加载到的顺序做页。
Uncaught TypeError: Object [object Window] has no method 'addEvent' script.js:10
Uncaught TypeError: Object [object Window] has no method 'addEvent' script.js:10
Uncaught ReferenceError: Class is not defined FancyUpload2.js:15
Uncaught ReferenceError: Class is not defined FancyUpload3.Attach.js:15
Uncaught ReferenceError: Class is not defined FancyUpload3.S3Uploader.js:27
Uncaught ReferenceError: Fx is not defined Fx.ProgressBar.js:13
Uncaught ReferenceError: Swiff is not defined Swiff.Uploader.js:14
Uncaught ReferenceError: Class is not defined Uploader.js:13
Uncaught TypeError: Cannot read property '0' of undefined prototype.js:6719
它看起来像MooTools的和原型是不可用的脚本创建所需的“FancyUploader”
该项目运行在的Rails 3.0.7就好了,与资产在公用文件夹和haml模板引擎中的源代码(我用的是erb,但这是我想的一个JS问题),不过我也注意到的原型似乎没有被引用在作者中包括??
= javascript_include_tag('mootools.js',
'fancyupload/source/Fx.ProgressBar',
'fancyupload/source/Swiff.Uploader',
'fancyupload/source/FancyUpload3.Attach',
'fancyupload/source/FancyUpload3.S3Uploader')
啊,我明白了,所以原作者可能根本不使用'prototype'!因此,我没有看到它的参考。我想我需要更多地了解为什么'Class'原型没有从库中实例化或崩溃。我认为我会坚持使用'mootools',因为它看起来是原始脚本使用的。 – 2012-07-11 15:11:15
那么,最初的fancyupload是由Harald(digitarald)以前的mootools核心团队所以是的,没有jquery,没有原型:) – 2012-07-11 16:12:25