2011-07-26 9 views
1

HTML/JS SDKを使用してAIRアプリケーションをビルドします。Adob​​e AIRにはリモートファイルは含まれません!

スクリプトとスタイルシートは、自分のウェブサイトと同じフォルダにある限り含めることができますが、インターネットから取り出したリモートコンテンツは含めることができません。 jqueryからもgoogleからでもリモートスクリプトはありません... <script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js">を入れても何も起こりません!このファイルだけでなく、すべてのファイルに当てはまります。

これまでにこの問題に遭遇しましたか? AIRのドキュメンテーションでは、マッシュアップやリモートエンルシオンを常に表示しているようですが、それでも私にとってはうまくいかないでしょう!

答えて

2

AIRでこれを行うことは間違いありませんが、セキュリティの制限を回避する必要があります。デフォルトでは、ロードされている最初のフレームからこれを行うことはできません。ありがたいことに、あまりにも難しくありません。

メインのhtmlページ(例:index.html)にiframeを作成し、すべてのコンテンツをこのページに読み込む必要があります。メインのHTMLページは、拡張されたセキュリティ権限(ファイルシステムなど)を必要とするメソッドを呼び出すことができるソートのコントローラとして機能し、iframeにロードされたコードはすべて外部メディアやスクリプトを読み込むことができ、JavaScript eval、およびアプリケーションのメインフレームで他の方法でブロックされているその他のメソッドが含まれます。

あなたが概念を理解して全ページを読んで、しかし、のsandboxRootとのDocumentRootあなたはインラインフレームを設定している場合、属性に特に注意を払うhttp://help.adobe.com/en_US/AIR/1.5/devappshtml/WS5b3ccc516d4fbf351e63e3d118666ade46-7f08.html#WS5b3ccc516d4fbf351e63e3d118666ade46-7f07

ここでそれについて読むことができます。

+0

大丈夫ですが、Airはクロムレスブラウザになります。 – Cystack

+0

下側フレームのみです。メインページ(index.html)には引き続きすべてのセキュリティ権限が強化されているため、一般的なWebブラウザ環境ではできないような操作が可能です(ファイルシステム、デスクトップ、データなど)。 parentSandboxBridge(私の答えのリンクを参照)を使用すると、これらの種類のメソッドを子フレームのページに公開することができます。両方の世界の中で最高です:) – sidogg

+0

NativeProcessクラスを使用して外部アプリケーションを呼び出すことができるようになりました。このアプリケーションは、あなたがやりたいこと以外にも何かできることができ、元のAIRアプリケーションと簡単に通信できます。 – sidogg

関連する問題