1

HTML+JS で記述された Web アプリが完成しました。Chrome の Web アプリ モードでは正常に動作します (file:// URI からの JSON 要求を許可するために SOP が無効になっている限り) が、唯一のオプションとして Chrome に制限したくありません (特に Windows の展開は痛み)。

このアプリを XULRunner でデプロイするにはどうすればよいですか? 全体の UI は既に実装されているため、XUL コードは可能な限り最小限にする必要があります (基本的に、「ここにサイトがあり、それをレンダリングし、$domain への AJAX 要求を許可する」)。これを行う方法についてのチュートリアルはありますか? 私が見つけたものはすべて、純粋な XUL アプリケーションに焦点を当てています…</p>

4

2 に答える 2

3

XULRunner は XUL ベースのアプリケーションを実行することを意図しているため、それらに焦点を当てたドキュメントは間違っていません。ただし、そのアプリケーションが Web アプリケーションを表示するためだけに必要な場合は、XUL アプリケーションは非常に単純になります。基本的に、唯一の XUL ファイルは次のようになります。

<?xml-stylesheet href="chrome://global/skin/" type="text/css"?>

<window xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"
    title="My Web App"
    id="webapp-window"
    width="800"
    height="600"
    persist="screenX screenY width height sizemode">
  <browser type="content-primary"
      src="index.html"
      flex="1"
      disablehistory="true"/>
</window>

これは、サイズと位置を記憶するウィンドウであり、ウィンドウを完全に埋めるブラウザ要素です。参考までに:<xul:window><xul:browser>

ファイルは次のようになりchrome.manifestます。

content webapp content/

content/これにより、サブディレクトリが対応するものとして宣言されchrome://webapp/content/ます。これは、メインの XUL ファイルと実際の Web アプリケーションを置く場所です。プロトコルが使用されているため、Web アプリケーションは完全な権限で実行されchrome://ます。つまり、特にXMLHttpRequest任意のドメインでの使用が許可されます (完全な権限で Web アプリケーションを実行することはセキュリティ的には適切ではありませんが、これは同じものを無効にする最も簡単な方法です) -オリジンポリシー)。

最後に、defaults/preferences/prefs.js起動時に開くウィンドウを XULRunner に指示するファイル:

pref("toolkit.defaultChromeURI", "chrome://webapp/content/main.xul");

そして、それはすでにほとんどです。に関する通常のチュートリアルをご覧くださいapplication.ini

于 2012-06-18T06:49:37.580 に答える
3

Webapp XUL Wrapperをチェックすることをお勧めします。README から:

Webapp XUL Wrapper は、webapp を Mac、Windows、および Linux 用の配布可能なバンドルにパッケージ化するためのビルド スクリプトのコレクションです。

最終結果は、Web アプリケーションのスタンドアロンおよびオフライン バージョンです。

配布パッケージに含まれるもの:

  • メインのブラウザ ウィンドウとアバウト ダイアログを備えた最小限の XUL アプリケーション
  • バンドルされたHTTP サーバー
  • XULRunner 17 (ヤモリ 17)
于 2012-11-29T15:16:26.223 に答える