apex.storage
ネームスペースには、Cookieやセッション・ストレージなど、ブラウザの格納機能に関連する機能がすべて含まれます。
親トピック: JavaScript API
ローカル・ストレージとセッション・ストレージをまとめてWebストレージと言います。ソース(Webサイト)に対応するキー/値ペアを安全に格納するブラウザ機能です。キーと値は文字列です。Webストレージのストレージ容量は、Cookieより大きいものの、無制限ではありません。Cookieと比べたもうひとつの利点は、キー/値ペアがリクエストごとに送信されないことです。
ローカル・ストレージもセッション・ストレージも、名前/値ペアを設定、取得、削除する際に同じAPIを使用します。違いは、セッション・ストレージがセッション終了時に消えてしまうのに対して、ローカル・ストレージはブラウザの再起動後でも使用できるということです。ローカル・ストレージに格納されるデータは、ユーザーの判断で自由にブラウザから制限または削除できます。サーバーに格納されるデータとは異なり、ローカル・ストレージは異なるマシン上のブラウザ間でも、あるいは同じマシン上の異なるブラウザ間でも共有されません。
APEXは、複数のアプリケーションや複数のワークスペース、さらには複数のワークスペースで実行される同じアプリケーションのインスタンスもサポートしているため、Webストレージの使用時に競合が発生する可能性もあります。単一のAPEXインスタンス(単一のソース、またはWebサイト)からのアプリケーションはすべて、同じWebストレージ領域を共有するからです。apex.storage.getScopedLocalStorage
とapex.storage.getScopedSessionStorage
では、アプリケーションIDと、オプションで追加される情報(ページID、リージョンIDなど)に基づいて、ストレージをスコープにパーティション化することで、この問題を解決しています。スコープは、すべてのストレージ・キーに接頭辞を付けて作成します。こうすると、異なるアプリケーションや、同じアプリケーションの異なるインスタンスが同じキーを使用する場合に競合が回避されますが、これが安全なパーティションになるわけではありません。機密情報をWebストレージに格納する前に、このような点を考慮してください。
親トピック: apex.storageネームスペース
Cookie名(pName
)の値を戻します。
パラメータ
表37-65 apex.storage.getCookie
名前 | タイプ | 説明 |
---|---|---|
|
String |
Cookieの名前。 |
戻り値
Cookieの文字列値。
親トピック: apex.storageネームスペース
ブラウザがローカル・ストレージAPIをサポートしている場合はtrue
、それ以外の場合はfalseを戻します。最新のブラウザはほとんどこの機能をサポートしていますが、ユーザーがオフにできるブラウザもあります。
パラメータ
なし
戻り値
ブラウザがローカル・ストレージAPIをサポートしている場合はtrue
、それ以外の場合はfalse
。
親トピック: apex.storageネームスペース
localStorage
オブジェクトを隠すシン・ラッパーで、pOptions
パラメータによって定義される接頭辞にすべてのキーのスコープを設定します。localStorage
がサポートされていない場合でも、戻されるオブジェクトは使用できますが、何の効果もありません。したがって、このファンクションをコールする前に、apex.storage.hasLocalStorageSupport
を使用してサポート状況をテストする必要はありません。
パラメータ
表37-66 apex.storage.getScopedLocalStorage
名前 | タイプ | 説明 |
---|---|---|
|
Object |
ローカル・ストレージのスコープを定義するオブジェクト。戻された |
表37-67 pOptionsのプロパティ
名前 | タイプ | 説明 |
---|---|---|
|
String |
すべてのキーに追加される静的な接頭辞文字列。デフォルトは空の文字列です。 |
|
ブール |
|
|
ブール |
|
|
String |
リージョンなどページの一部を示す追加の文字列。 |
戻り値
localStorage
ラッパー・オブジェクト。このオブジェクトのプロパティとファンクションは、ブラウザのStorageインタフェースと同じです。
表37-68 localStorageラッパー
プロパティ | 説明 |
---|---|
|
APEX固有のプロパティ。このスコープ付きストレージ・オブジェクトに付く接頭辞。 |
|
スコープ付きストレージ・オブジェクトでの項目の数。 |
|
スコープ付きストレージ・オブジェクトでn番目のキーを戻します。 |
|
指定したキーの値を戻します。 |
|
指定したキーの値をデータに設定します。 |
|
指定したキーを削除します。 |
|
スコープ付きストレージ・オブジェクトからすべてのキーを削除します。 |
|
APEX固有のファンクション。このオブジェクトの外部でキーが追加または削除された可能性がある場合に、lengthプロパティが正しいことを確認するために使用されます。 |
例
次の例では、Acme
という接頭辞とアプリケーションIDを使用してすべてのキーの範囲を決めるローカル・ストレージ・オブジェクトを作成します。次に、setting1
というアイテムを設定し、取得します。
var myStorage = apex.storage.getScopedLocalStorage( { prefix: "Acme", useAppId: true }); myStorage.setItem( "setting1", "on" ); setting = myStorage.getItem( "setting1" ); // returns "on"
親トピック: apex.storageネームスペース
sessionStorage
オブジェクトを隠すシン・ラッパーで、pOptions
パラメータによって定義される接頭辞にすべてのキーのスコープを設定します。sessionStorageがサポートされていない場合でも、戻されるオブジェクトは使用できますが、何の効果もありません。したがって、このファンクションをコールする前に、apex.storage.hasSessionStorageSupportを使用してサポート状況をテストする必要はありません。
パラメータ
表37-69 apex.storage.getScopedSessionStorage
名前 | タイプ | 説明 |
---|---|---|
|
Object |
セッション・ストレージのスコープを定義するオブジェクト。戻された |
表37-70 pOptionsのプロパティ
名前 | タイプ | 説明 |
---|---|---|
|
String |
すべてのキーに追加される静的な接頭辞文字列。デフォルトは空の文字列です。 |
|
ブール |
|
|
ブール |
|
|
String |
リージョンなどページの一部を示す追加の文字列。 |
戻り値
sessionStorage
ラッパー・オブジェクト。このオブジェクトのプロパティとファンクションは、ブラウザのStorageインタフェースと同じです。
表37-71 sessionStorage
プロパティ | 説明 |
---|---|
|
APEX固有のプロパティ。このスコープ付きストレージ・オブジェクトに付く接頭辞。 |
|
スコープ付きストレージ・オブジェクトでの項目の数。 |
|
スコープ付きストレージ・オブジェクトでn番目のキーを戻します。 |
|
指定したキーの値を戻します。 |
|
指定したキーの値をデータに設定します。 |
|
指定したキーを削除します。 |
|
スコープ付きストレージ・オブジェクトからすべてのキーを削除します。 |
|
APEX固有のファンクション。このオブジェクトの外部でキーが追加または削除された可能性がある場合に、lengthプロパティが正しいことを確認するために使用されます。 |
例
次の例では、Acme
という接頭辞とアプリケーションIDを使用してすべてのキーの範囲を決めるセッション・ストレージ・オブジェクトを作成します。次に、setting1
というアイテムを設定し、取得します。
var myStorage = apex.storage.getScopedSessionStorage( { prefix: "Acme", useAppId: true }); myStorage.setItem( "setting1", "on" ); setting = myStorage.getItem( "setting1" ); // returns "on"
親トピック: apex.storageネームスペース
ブラウザがセッション・ストレージAPIをサポートしている場合はtrue
、それ以外の場合はfalseを戻します。最新のブラウザはほとんどこの機能をサポートしていますが、ユーザーがオフにできるブラウザもあります。
パラメータ
なし
戻り値
ブラウザがセッション・ストレージAPIをサポートしている場合はtrue
、それ以外の場合はfalse
。
親トピック: apex.storageネームスペース
Cookie (pName
)を指定の値(pValue
)に設定します。
パラメータ
表37-72 apex.storage.setCookie
名前 | タイプ | 説明 |
---|---|---|
|
String |
設定するCookieの名前。 |
|
String |
Cookieを設定する値。 |
親トピック: apex.storageネームスペース