Вопрос

У меня есть сценарий, который извлекает объекты с удаленного сервера посредством вызова Ajax.Сервер возвращает объекты в нотации JSON.

Однако в Adobe AIR существует ограничение на использование оценка() по соображениям безопасности.Таким образом, я могу получать ответы от удаленного сервера, но не могу превратить их обратно в объекты JavaScript.Есть ли какое-либо решение этой проблемы?Я хотел бы использовать JSON для своих объектов JavaScript, поскольку его можно использовать практически сразу.

Примечание :Я понимаю последствия для безопасности такой проблемы, но я буду заниматься быстрой разработкой приложений для конкурса, поэтому программа будет лишь быстрым прототипом и не будет использоваться в производственных целях.Тем не менее, было бы здорово, если бы была лучшая альтернатива тому, что я пытаюсь сделать сейчас.


Обновлять:

Благодаря Тео и jsight за их ответы;

Сегодня я узнал одну важную вещь: я действительно могу использовать библиотеки ActionScript, используя

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
тег, расширенный Adobe AIR.Проверить Тео ссылка для более подробной информации!

Это было полезно?

Другие советы

Текущая версия AIR (v2.5) включает в себя более новый WebKit со встроенной поддержкой JSON через JSON.stringify() и JSON.parse().

Вы посмотрели as3corelib?Кажется, он предоставляет анализатор AS3 для данных JSON, и я надеюсь, что он не полагается на eval (как вы заметили, eval, как правило, вреден для безопасности).Существуют аналогичные библиотеки и для Javascript, и они, как правило, являются предпочтительным способом анализа json из-за последствий для безопасности, связанных с вызовом eval для (потенциально) вредоносных данных.

JSON — это нотация объектов Javascript, поэтому, если вы используете Javascript, вы уже там!Посмотрите на эти ссылки, они дают примеры создания объектов Javascript из JSON:

http://www.hunlock.com/blogs/Mastering_JSON_(_JavaScript_Object_Notation_)

http://betterexplained.com/articles/using-json-to-exchange-data/

Если вы решите пойти по пути Flex/AS3, то, как сказал jsight, as3corelib — хорошее место для начала.

Я думаю, что это возможно, если вы используете мост iframe и песочницы.У вас должна быть возможность запускать eval() для загруженного кода в изолированном iframe,

Отрывок из Документация Adobe AIR 1.1"...возможно, будет удобнее запускать контент в изолированном дочернем фрейме, чтобы контент можно было запускать без ограничений на eval()..."

Еще одна статья по теме: Опираясь на AIR:Работа с мостами песочницы

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top