문제

Ajax 호출을 통해 원격 서버에서 개체를 검색하는 스크립트가 있습니다.서버는 JSON 표기법으로 개체를 반환합니다.

하지만 Adobe AIR에서는 사용에 제한이 있습니다. 평가() 보안상의 이유로.따라서 원격 서버로부터 응답을 받을 수 있지만 이를 다시 JavaScript 개체로 변환할 수는 없습니다.이 문제에 대한 해결 방법이 있습니까?거의 즉시 사용할 수 있으므로 JavaScript 개체에 JSON을 사용하고 싶습니다.

참고 사항:문제를 강제하는 것이 보안에 미치는 영향을 이해하지만 경쟁을 위해 신속한 응용 프로그램 개발을 수행할 예정이므로 프로그램은 빠른 프로토타입일 뿐이며 생산 목적으로 사용되지는 않습니다.그럼에도 불구하고, 지금 내가 하려는 일보다 더 나은 대안이 있다면 좋을 것 같다.


업데이트:

덕분에 테오 그리고 jsight 그들의 답변을 위해;

오늘 제가 배운 중요한 것 중 하나는

<script src="lib/myClasses.swf" type="application/x-shockwave-flash"></script>
Adobe AIR에 의해 확장된 태그입니다.확인해 보세요 테오의 자세한 내용은 링크!

도움이 되었습니까?

해결책

다른 팁

현재 AIR 릴리스(v2.5)는 JSON.stringify() 및 JSON.parse()를 통해 기본 JSON을 지원하는 최신 WebKit을 번들로 제공합니다.

봤어? as3corelib?JSON 데이터에 대한 AS3 파서를 제공하는 것으로 보이며, eval에 의존하지 않기를 바랍니다(평가는 언급한 것처럼 보안에 좋지 않은 경향이 있습니다).Javascript에도 유사한 libs가 있으며 (잠재적으로) 악의적인 데이터에 대해 eval을 호출하는 보안 영향으로 인해 json을 구문 분석하는 데 선호되는 방법인 경향이 있습니다.

JSON은 Javascript 객체 표기법이므로 Javascript를 사용하고 있다면 이미 거기에 있는 것입니다!다음 링크를 살펴보세요. JSON에서 Javascript 객체를 생성하는 방법에 대한 예가 나와 있습니다.

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

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

Flex/AS3 경로를 선택하기로 결정했다면 jsight가 말했듯이 as3corelib가 시작하기에 좋은 곳입니다.

iframe과 sandbox bridge를 사용한다면 가능하다고 생각합니다.샌드박스 iframe에서 다운로드한 코드에 대해 eval()을 실행할 수 있어야 합니다.

에서 발췌 Adobe AIR 1.1 문서"...eval()에 대한 제한 없이 콘텐츠를 실행할 수 있도록 샌드박스가 적용된 하위 프레임에서 콘텐츠를 실행하는 것이 더 편리할 수 있습니다..."

또 다른 관련 기사: AIR 기반 구축:샌드박스 브리지 작업

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top