3

Web サーバー (LAMP/XAMP など) をインストールせずに sencha touch 2 アプリを実行する方法を知っている人はいますか? (PS : Sencha Touch は初めてです)

Sencha Touch 2 アプリの app.json にphonegap のjavascript ファイルを含める方法があります。このようになります

"js":
    {
        "path": "cordova-2.5.0.js"  
    }

この後、サンプル アプリケーションは Web サーバーなしでブラウザー上で実行されます。

  1. 他の方法はありますか?

  2. phonegap js ファイルを追加すると、Web サーバーなしで sencha touch アプリを実行するのにどのように役立ちますか??

4

1 に答える 1

3

フラグを付けてクロムを開始する--allow-file-access-from-files --disable-web-securityこともうまくいきます。

microloaderアプリがsencha makeでファイルのAjaxリクエストを作成app.jsonし、そこから他のファイルをロードする開発モードの場合、Sencha は Web サーバーを必要とします。これはで見ることができます

../sencha-sdk/mircroloader/development.js

次のコードを含むファイル -

var xhr = new XMLHttpRequest();
xhr.open('GET', 'app.json', false);

上記のフラグを使用して chrome を起動すると、file://....url スキームでファイルを開いた場合でも、chrome は ajax リクエストを作成できます。

sencha cmd で js/css を圧縮してからアプリをデプロイすると、すべてのファイルが 1 つのファイルにまとめられます。その場合、Web サーバーはもう必要ありません。


アップデート

ホワイトリスト ドメインの Cordova ドキュメントから

Apache Cordova のドメイン ホワイトリストは、 http://google.comなどの外部ドメインへのアクセスを制御するセキュリティ モデルです。デフォルトのセキュリティ ポリシーは、すべてのネットワーク アクセスをブロックすることです。アプリケーション開発者は、特定のネットワーク ドメインおよびサブドメインへのアクセスを宣言できます。

Widget Access 仕様では、要素は特定のネットワーク ドメインへのアクセスを宣言するために使用されます。将来、Apache Cordova は、プラットフォームのホワイトリスト実装を W3C Widget Access 仕様に抽象化します。ただし、今のところ、各プラットフォームは独自のドメイン ホワイトリストを実装する必要があります。

さらに、W3C Widget Accessはセキュリティとユーザー エージェント強制ポリシーを取り囲んでいません。XMLHTTPRequestで定義されています。

したがって、Cordova の本質的な機能は、ポリシーに例外を追加して、ホワイトリストに登録されたドメインを持つアプリ ドメイン外の特定のネットワーク リソースへのアクセスを許可することです。

于 2013-05-06T18:15:18.820 に答える