我一直在我的网站上使用由Adobe Edge Animate驱动的相当简单的动画。我没有改变与它有关的最长时间,但显然发生了一些事情,因为现在当我运行动画时,我得到了
未捕获的TypeError:对象[object Object]没有方法'stringify'bear.2.0.0.min.js
来自Chromes Console Log。我不知道这意味着什么,但它与json有关。我不确定我的图像是否被加载,但没有理由它不应该是,因为我从来没有改变它的路径。有人能告诉我“Object [object Object]
”应该指的是什么吗?
谢谢!
P.S我的动画设置只是舞台,大约有17个.svg副本,我用作精灵表,加上一些文字。每个对象都有动画,包括不透明度,顶部,左侧和高度。
编辑: 这是我在做console.log(JSON)时得到的;
如果您无法阅读:
Native.initialize
$replaceChars: function (a){return JSON.$specialChars[a]||"\\u00"+Math.floor(a.charCodeAt()/16).toString(16)+(a.charCodeAt()%16).toString(16);
$specialChars: Object
decode: function (string,secure){if($type(string)!="string"||!string.length){return null;}if(secure&&!(/^[,:{}\[\]0-9.\-+Eaeflnr-u \n\r\t]*$/).test(string.replace(/\\./g,"@").replace(/"[^"\\\n\r]*"/g,""))){return null;
encode: function (b){switch($type(b)){case"string":return'"'+b.replace(/[\x00-\x1f\\"]/g,JSON.$replaceChars)+'"';case"array":return"["+String(b.map(JSON.encode).clean())+"]";
__proto__: Object
更新: 我想我可能已经弄清楚了。在预加载器中,我用完整路径调用依赖文件,所以我认为它们不会被调用。但是当我修复路径时,我真的很讨厌
Uncaught SyntaxError: Unexpected token <
这些文件被解释为text / html,所以现在那些依赖的.js文件已经充满了我的html。 (我正在使用Sinatra,带有布局文件)。 这是Chromes的消息:
Resource interpreted as Script but transferred with MIME type text/html: "http://127.0.0.1/bird_Animations_edgeActions.js".
这是预加载器调用这些文件的方式:
{load:"/bird_Animations_edge.js"},{load:"/bird_Animations_edgeActions.js"}.
现在我的问题是:如何将这些文件作为脚本传输?
编辑: 因为我对此感到困惑,Edge Animate的工作方式是它为您提供了三个.js文件。一个是专注于一般的东西,制作对象,创建动画。第二个是关注动作,I.E点击一个元素。第三个加载前两个文件,以及整个页面工作所需的每个其他文件,以及其他一些我不知道的东西。然后在您希望动画运行的页面的head标签中调用第三个文件,并在同一页面的正文中使用div。
答案 0 :(得分:1)
经过如此多的编辑和精彩的评论,我想通了。
我在预加载器中使用了错误的路径,这就是stringify失败的原因,它没有找到任何对象。
然后,通过解释但转移为错误,这是因为在我的HKEY_CLASSES_ROOT\.js
(regedit)中,内容类型设置为text/html
。将其设置为application/javascript
完全解决了我的问题。非常感谢每个人的帮助!
答案 1 :(得分:0)
我有类似的问题。此错误的根源可以来自bug in Mootools。版本1.3.2之前的Mootools将覆盖JSON对象。您必须使用较新版本的Mootools来解决JSON.parse和JSON.stringify问题。