組み込みWebエリア初期化用カスタムパラメータ

埋め込みWebエリアはWebブラウザエンジンとしてCEFを利用しているため、エリアの初期化中に、自動再生ポリシースイッチのような、追加のCEFスイッチを組み込む方法を求める声が以前からありました。

4D 20 R6からは、パラメータファイルを使うことでカスタムのパラメータを管理できます。

Chromium Embedded Framework(CEF)の動作や設定は、CEFスイッチと呼ばれるコマンドラインフラグを使って変更できます。4D起動時のCEF初期化時にどのスイッチを有効/無効にするかは、新しいパラメータファイル”4DCEFParameters.json”を追加することで指定します。

開発環境であれば、パラメータファイルを、以下の場所にコピーする必要があります:

  • Windowsの場合、”C:¥Users¥xxxxxx¥AppData¥Roaming¥4D¥4DCEFParameters.json” にコピーします。
  • macOSの場合、”$HOME/Library/Application Support/4D/4DCEFParameters.json” にコピーしてください。

エンジンアプリケーションの場合は、プロジェクトのリソースフォルダにファイルをコピーする必要があります。

ファイルは以下の構造でなければなりません:

{
   "switches":{
      "key":value
},
   "macOS":{
      "switches": {
         "key":value
      }
   },
   "windows": {
      "switches": {
         "key":value
      }
   }
}

macOSとWindowsのオブジェクトを使うことで、特定のプラットフォームでのみ使用するスイッチを定義することができます。

例えば、”autoplay-policy=no-user-gesture-required “スイッチを有効にしてサウンドやビデオの自動再生を許可したい場合は、以下のパラメータファイルをコピーするだけです:


{
   "switches": {
      "autoplay-policy": "no-user-gesture-required",
   }
}

enable-print-preview “のように、値を必要としないパラメータを渡す必要がある場合は、値として “true “を使用するだけで有効になります:

{
   "switches": {
      "autoplay-policy": "no-user-gesture-required",
      "enable-print-preview": true
   }
}

警告:このスイッチは、4D View Proを含めて4Dで使用されるすべての埋め込みエリアに適用されることに留意してください。そのため、4Dまたはあなたのアプリケーションのどちらかの機能に対しては適切でない影響を与える可能性があります。もし、利用可能なスイッチのリストの概要を知りたい場合は、Peter Beverlooがまとめたリストをご覧ください:List of Chromium Command Line Switches

4D 20 R6では、”4DCEFParameters.json “というパラメータファイルを使うだけで組み込みWebエリアスイッチの微調整が簡単にできるようになりました。実装を簡単にするために、開発者は、パラメータファイルの構造と使い方を詳しく説明したドキュメントを参照することができます。

Fabrice Mainguené
- Product Owner -Fabrice Mainguenéは、2016年11月に4D Programチームに参加しました。プロダクトオーナーとして、彼はユーザーストーリーを書き、それを機能仕様に変換する役割を担っています。CNAMでコンピュータサイエンスの学士号を取得した後、FabriceはWindev開発者として小さなソフトウェア出版社に入社しました。その後、彼は産業および貿易分野のさまざまな企業で、Windev および Web 開発者として、また新機能の技術アドバイザーとして働きました。