概要
このページでは、特定のホストからのアクセス時はテストを実行したくない、といった時に有効な設定について記載します。
なお、この設定には「エクスペリエンススクリプト」を利用します。
※ある程度、JavaScriptにご理解のある方による閲覧・実装を推奨しております。
エクスペリエンススクリプトとは
「エクスペリエンス > 詳細設定」の最下部にある、JavaScriptを記述できる項目です。
エクスペリエンススクリプト利用上の注意
- エクスペリエンススクリプトに記述したJavaScriptは、エクスペリエンスが実行されるページにて、Kaizen対象外ユーザー・オリジナル案・デザイン案全てに実行されます。
思わぬ不具合に繋がる可能性がありますので、十分に動作確認をしてから記述をしてください。
なお、ご利用は自己責任にてお願いいたします。 - エクスペリエンススクリプトは使用方法を誤ると、デザインが反映されない・計測ができない等の問題が発生する可能性があります。
JavaScriptコードステータスを活用する を参考に、エクスペリエンススクリプトを設定した後に計測ができているか、必ず確認してください。 - ここではサンプルコードを公開していますが、より複雑なコードの提供や、お客様のページに合わせたコードの提供は、サポート対象外となっております。ご了承ください。
- エクスペリエンススクリプトは、テスト対象が「ページ修正(スプリットURL)」 の場合、動作しません。
設定方法
1. エクスペリエンススクリプトを開く
「エクスペリエンスの設定 > 詳細設定」を開き、エクスペリエンススクリプトを表示します。
2. コードを記述する
エクスペリエンススクリプトに以下のコードをコピー&ペーストします。
ドメインはご自身で書き換えてください。
return new Promise(function(resolve, reject) {
var rejectRegexp = /\.kaizenplatform\.net$/; //ここに除外したいドメインを正規表現で記述する
var judge = function(hostnames) {
for (var i = 0; i < hostnames.length; ++i) {
if (hostnames[i].match(rejectRegexp)) {
return false;
}
}
return true;
};
var me = kzs.cookies.get('kzs_me');
if (me) {
me != '0' ? resolve() : reject();
} else {
kzs.utils.xjson.get('https://ip.kaizenplatform.net/me/hostnames', { callback: 'kzs_cb', timeout: 1000, credentials: false })
.then(function(res) {
var pass = judge(res.hostnames);
kzs.cookies.set('kzs_me', pass ? '1' : '0', { expire: 3600 });
pass ? resolve() : reject();
})
.catch(function(err) {
reject(); // ホスト名取得失敗時は除外する (ホスト名取得失敗時に除外しない場合は resolve() にする)
})
}
});
3. エクスペリエンスを保存する
「文法をチェックする」ボタンを押して、 『正しいJavaScriptの文法です』 と表示されたら、右上の「保存する」からエクスペリエンスの設定を保存してください。
※ ホスト元の判定のため、数十msほどデザイン反映に遅延が発生します。 ホスト元はcookieに1時間保持されますので、アクセスから1時間以内であれば遅延は発生しません。
0 コメント