ユーティリティ関数
Tealium for JavaScript で提供されているユーティリティ関数に関するリファレンス ガイド。
以下のutag.ut関数を利用できます。
| Function | 説明 |
|---|---|
decode() |
エンコードされた URI コンポーネントまたは Stringのデコードされた値を返します |
encode() |
デコードされたURIコンポーネントまたはStringのエンコードされた値を返します |
flatten() |
オブジェクト引数の平坦化された値を返します |
hasOwn() |
指定されたプロパティをオブジェクトが独自のプロパティとして持つかどうかを示すブール値を返します |
isEmpty() |
引数が空の場合はブール値trueを返し、空でない場合はブール値falseを返します |
isEmptyObject() |
オブジェクト引数が空の場合はブール値trueを返し、空でない場合はブール値falseを返します |
loader() |
Tealiumのタグテンプレートはこの関数を使用してタグを読み込みます(iframe、画像、スクリプトを読み込み、スクリプトが読み込まれたときのコールバックを可能にします) |
merge() |
あるオブジェクトからのプロパティを別のオブジェクトにマージします |
pad() |
ゼロを追加して文字列をパディングします |
typeOf() |
変数型を文字列として返します |
utag.ut.decode()
エンコードされたURIコンポーネントまたはStringのデコードされた値を返します。この関数は標準のJavaScript関数であるdecodeURIComponent()とunescape()をラップします。
utag.ut.decode(encodedStr)
| パラメータ | 型 | 説明 |
|---|---|---|
encodedStr |
String |
デコードされるエンコード済み文字列 |
例:
utag.ut.decode("Tealium%20Developer%20Docs!"); // "Tealium Developer Docs!"
utag.ut.decode("https%3A%2F%2Fdocs.tealium.com"); // "https://docs.tealium.com"
utag.ut.encode()
デコードされたURIコンポーネントまたは文字列のエンコードされた値を返します。この関数は標準のJavaScript関数であるencodeURIComponent()とescape()をラップします。
utag.ut.encode(decodedStr)
| パラメータ | 型 | 説明 |
|---|---|---|
decodedStr |
String |
エンコードされるデコード済み文字列 |
例:
utag.ut.encode("Tealium Developer Docs!"); // "Tealium%20Developer%20Docs!"
utag.ut.encode("https://docs.tealium.com"); // "https%3A%2F%2Fdocs.tealium.com"
utag.ut.flatten()
オブジェクト引数の平坦化された値を.文字で区切って返します。この関数は、渡されるオブジェクトの深度が 1 レベルのみであることを前提としています。関数は文字列、配列、ブール値、または数値(浮動小数点数または整数)に到達すると停止します。マルチレベルのオブジェクトやオブジェクトの配列にはこの関数を使用しないでください。
utag.ut.flatten(obj)
| パラメータ | 型 | 説明 |
|---|---|---|
obj |
Object |
平坦化されるオブジェクト |
例:
utag.ut.flatten({"order_id": "0123567", "cart": {"total_items": 3, "total_amount": 123.45},"order_tax": 9.97});
// {order_id: "0123567", cart.total_items: 3, cart.total_amount: 123.45, order_tax: 9.97}
utag.ut.hasOwn()
指定されたプロパティをオブジェクトが *継承するのではなく) 独自のプロパティとして持つかどうかを示すブール値を返します。この関数は null チェックを実行し、JavaScript関数 hasOwnProperty()をラップします。
utag.ut.hasOwn(obj)
| パラメータ | 型 | 説明 |
|---|---|---|
obj |
Object |
テストされるオブジェクト |
例:
var obj = new Object(); // Create an object
obj.x = 3.14; // Define a non-inherited local property
utag.ut.hasOwn(x); // true - x is a local property of obj
utag.ut.hasOwn(y); // false - obj doesn't have a property y
utag.ut.hasOwn("toString"); // false - toString property is inherited from Object
utag.ut.isEmpty()
引数が空の場合はブール値 true を返し、空でない場合はブール値 false を返します。まず utag.ut.typeOf()関数を使用してデータ型を判定し、型に基づいて次の値を返します。
| Type | 戻り値の説明 |
|---|---|
number |
JavaScript 関数 isNaN()の値を返します |
boolean |
falseを返します |
String |
文字列オブジェクトの .length フィールドが 0 の場合に true を返します |
Object |
utag.ut.isEmptyObject()関数の値を返します |
utag.ut.isEmpty(arg)
| パラメータ | 型 | 説明 |
|---|---|---|
arg |
[number, boolean, String, Object] |
空かどうかをテストされる引数 |
例:
utag.ut.isEmpty(5); // false
utag.ut.isEmpty(NaN); // true
utag.ut.isEmpty(undefined); // true
utag.ut.isEmpty(true); // false
utag.ut.isEmpty(false); // false
utag.ut.isEmpty("Tealium"); // false
utag.ut.isEmpty(""); // true
utag.ut.isEmptyObject()
オブジェクト引数が空の場合はブール値 true を返し、空でない場合はブール値 false を返します。
utag.ut.isEmptyObject(obj)
| パラメータ | 型 | 説明 |
|---|---|---|
obj |
Object |
空かどうかをテストされるオブジェクト |
例:
utag.ut.isEmptyObject({}); // true
utag.ut.isEmptyObject({ foo: "bar" }); // false
utag.ut.loader()
Tealium のタグ テンプレートはこの関数を使用してタグを読み込みます。iframe、画像、スクリプトを読み込み、スクリプトが読み込まれたときのコールバックを可能にします。関数が受け入れるオブジェクト引数は 1 つのみです。
この関数は、既存の iframe と同じ ID を持つ iframe としてファイルが読み込まれた場合に、そのファイルを追加する前に既存の要素を削除することによって、ブラウザの履歴に影響が及ぶのを防ぎ、DOM をクリーンに保ちます。
utag.ut.loader(object)
この object には次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
src |
読み込まれるファイルの URL |
type |
読み込まれるタグの種類:“iframe”、“img”、または"script"(デフォルト) |
id |
(オプション) 要素 ID |
cb |
(オプション) コールバック関数 |
attrs |
(オプション) 追加の HTML 要素属性のオブジェクト |
例:
utag.ut.loader({
type: "iframe",
src: "https://example.com/path/file.js",
id: "teal-tag1",
cb: function() {},
attrs: {"async":"true"}})
// Results in the following HTML element:
// <iframe id="teal-tag1" async="true" height="1" width="1" style="display:none"
// src="https://example.com/path/file.js"> </iframe>
utag.ut.merge()
あるオブジェクトからのプロパティを別のオブジェクトにマージします。この関数はマルチレベルのオブジェクトに対応していません。オブジェクトをまず平坦化してからマージしてみてください。この関数を配列で使用すると、参照が作成されます。
utag.ut.merge(obj1, obj2, flag)
| パラメータ | 型 | 説明 |
|---|---|---|
obj1 |
オブジェクト | マージされる最初のキーと値のペアオブジェクト |
obj2 |
オブジェクト | マージされる 2 番目のキーと値のペア オブジェクト |
overwrite |
数値 | obj1 のプロパティ値を obj2のプロパティ値で上書きするかどうかを示す、 0 (いいえ)または 1 (はい)のフラグ |
例:
foo = { "key1":"value1", "key2":"value2" }
bar = { "key1":"value4", "key3":"value3" }
utag.ut.merge(foo, bar, 0)
// foo: {key1: "value1", key2: "value2", key3: "value3"}
// bar: {key1: "value4", key3: "value3"}
foo = { "key1":"value1", "key2":"value2" }
bar = { "key1":"value4", "key3":"value3" }
utag.ut.merge(foo, bar, 1)
// foo: {key1: "value4", key2: "value2", key3: "value3"}
// bar: {key1: "value4", key3: "value3"}
utag.ut.pad()
ゼロ(0)でパディングされた数値を返します。
utag.ut.pad(a, b)
| パラメータ | 型 | 説明 |
|---|---|---|
a |
string |
パディングする必要のある文字列 |
b |
number |
パディングによって達成したい文字列の整数による合計長 |
例:
utag.ut.pad("Tealium", 10); // 000Tealium
utag.ut.typeOf()
引数変数型を Stringとして返します。
utag.ut.typeOf(arg)
| パラメータ | 型 | 説明 |
|---|---|---|
arg |
任意の型 | 型判定の対象とする引数 |
例:
utag.ut.typeOf(5); // "number"
utag.ut.typeOf("Tealium"); // "string"
utag.ut.typeOf(imgObj); // "htmlimagelement"
utag.ut.typeOf(obj); // "object"
utag.ut.typeOf(null); // "null"
utag.ut.typeOf(undefined); // "undefined"
utag.ut.typeOf(obj.cb); // "function"
最終更新日 :: 2022年August月29日