JSON и его переопределение.
Мой код используется на нескольких сайтах. На некоторых из них используется Ext и в нём JSON переопределён.
В моём коде вызывается JSON.stringify и происходит ошибка. Я проверил и увидел JSON[encode/decode] вместо stringify/parse У меня есть решение проверять на "если есть stringify", то ...... Кто либо поимел в своей жизни подобную проблему? Как красиво оформить? |
Вообще Ext.JSON, а не JSON. И я не думаю что сам ExtJS нативные объекты переписывает. Какая версия extjs?
А вообще может у вас гдето в коде затесался with ..типа такого: with (Ext) { // вот здесь JSON будет ссылаться на Ext.JSON } |
Дело в том, что перед ошибкой я делаю проверку и вижу, что JSON переопределён, а после выполнения всех скриптов JSON стандартный.
window.JSON проверяю в контексте window if (!JSON.stringify) { if (JSON.encode) { JSON.stringify = JSON.encode; } } Так очень страшно? |
Ну как хак то это пойдет если всё работает. Но правильнее конечно былоб место найти где переопределяется ..хотя и более трудозатратно.
Я еще забыл спросить, какой браузер? |
В index.html вставьте где-нибудь повыше:
Код:
<script type="text/javascript"> |
Цитата:
|
Часовой пояс GMT +3, время: 06:25. |