2013-08-12 3 views
3

Я работаю с довольно простой анимацией, работающей на Adobe Edge Animate, на моем сайте некоторое время. Я ничего общего с ней долгое время не изменится, но что-то явно произошло, потому что теперь, когда я запустить анимацию, я получаюОбъект [Объект Объект] не имеет метода stringify

Uncaught TypeError: Object [object Object] has no method 'stringify' edge.2.0.0.min.js

из Chromes Console Log. Я понятия не имею, что это значит, но это имеет какое-то отношение к json. Я не уверен, загружен ли мой образ, но нет причин, по которым он не должен быть, поскольку я никогда не изменял его путь. Может ли кто-нибудь сказать мне, что означает «Object [object Object]»?

Спасибо!

P.S Моя анимационная установка - это всего лишь сцена, в которой около 17 копий .svg, которые я использую в качестве листа спрайтов, плюс некоторый текст. Каждый объект имеет анимацию, которая включает в себя непрозрачность, верхнюю, левую и высоту.

EDIT: Вот что я получаю, когда я делаю console.log (JSON); ScreenShot of 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 

Update: Я думаю, что я, возможно, понял это. В preloader я вызываю зависимые файлы с полным путем, поэтому я не думаю, что они вызываются. Но когда я исправить путь, я получаю, что действительно раздражает

Uncaught SyntaxError: Unexpected token < 

Эти файлы интерпретируются как текст/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 нажимает на элемент. Третий загружает предыдущие два файла и все другие файлы, необходимые для работы всей страницы, а также некоторые другие вещи, которые я не знаю. Третий файл затем вызывается в главном теге страницы, которую вы хотите запустить анимацию, с div в теле этой же страницы.

+0

Вы уверены, что были включены библиотеки? –

+0

Это d означает, что это объект, но не строка - «Object [object Object]» - это просто способ, которым объекты являются консольным журналом –

+0

, вероятно, есть что-то для обновления - некоторая библиотека, как упоминалось? он использовал для работы раньше? –

ответ

1

После стольких исправлений и замечательных комментариев я понял это. Я использовал неправильный путь в preloader, поэтому stringify не удалось, он не обнаружил никакого объекта вообще. Затем, с интерпретируемой, но переданной как ошибка, это произошло потому, что в моем HKEY_CLASSES_ROOT\.js (regedit) тип контента был установлен в text/html. Установив его на application/javascript, я полностью исправил свою проблему. Спасибо тонну за помощь!

+0

вы должны были только что обновить свое оригинальное сообщение. Большой «ANNNNNNNNND» в начале этого поста - болезненное бельмо. –

+2

Простите, что. И я не хотел добавлять к моему оригинальному сообщению, потому что это * надеюсь, краткое объяснение и ответ на мои вопросы. Я отвечу на этот вопрос как на ответ, когда мне позволено. : / –

0

У меня была аналогичная проблема. Корень этой ошибки может быть от bug in Mootools. Mootools до версии 1.3.2 переопределит объект JSON. Вы должны использовать более новую версию Mootools для решения проблемы JSON.parse и JSON.stringify.

Смежные вопросы