Lightning Experience or Classicの各レイヤーでの判定方法
VisualforceやApexなどのLightning Experience(以下ではLEXとします)とClassicのどちらからも呼び出される各レイヤーでの処理中で判定する方法を紹介します。
クライアント(Visualforce)
特にVisualforce等でLEXとClassicのどちらからも呼び出される場合に、どちらのモードで動作しているかを判断するスクリプトは、以下となります。
サーバー(Apex,SOQL)
利用しているモードを判定
ApexでSOQLを発行することによりLEXとClassicのどちらを利用しているかを判定する方法は以下となります。
Lightningユーザ権限の有無を判定
ApexでSOQLを発行することによりLightningユーザ権限を保持しているかを判定する方法は以下となります。
※正確には、付与されている権限セットがあれば、その権限セットの同一カラムを参照する必要もあります。
メタデータ
組織でLEXが有効化されているかを判定する方法は以下となります。
true→有効、false→無効となります。