フォローする

特定のホストからのアクセスをテスト実行対象から除外する

 

概要

このページでは、特定のホストからのアクセス時はテストを実行したくない、といった時に有効な設定について記載します。

なお、この設定には「エクスペリエンススクリプト」を利用します。

※ある程度、JavaScriptにご理解のある方による閲覧・実装を推奨しております。

 

エクスペリエンススクリプトとは

「エクスペリエンス > 詳細設定」の最下部にある、JavaScriptを記述できる項目です。

exp_script.png

 

エクスペリエンススクリプト利用上の注意

  • エクスペリエンススクリプトに記述した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人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください

0 コメント

記事コメントは受け付けていません。