0

Optimizely というランディング ページの A/B テスト ツールを使用しています。ターゲティング方法の 1 つは、訪問者がいる URL + カスタム Javascript 条件によるものです。Javascript 条件を入力できるボックスがあります。HTML で「checkout」という単語を検索し、見つかった場合は true と評価する条件が必要です。どんな助けでも大歓迎です。ありがとう

4

1 に答える 1

2

この投稿のtreewalkerコードを使用しました: getElementsByTagName()はtextNodesに相当します

function checkoutIsPresent() {
  var result = [];
  var root = document.body;

  var node = root.childNodes[0];
  while (node != null) {
    if (node.nodeType == 3) { /* Fixed a bug here. Thanks @theazureshadow */
      result.push(node.nodeValue);
    }

    if (node.hasChildNodes()) {
      node = node.firstChild;
    }
    else {
      while (node.nextSibling == null && node != root) {
        node = node.parentNode;
      }
      node = node.nextSibling;
    }
  }

  if (!result) return false;
  for (var i = 0, len = result.length; i < len; i++) {
    if (result[i].indexOf('checkout') > -1) {
      return true;
    }
  }
  return false;
}

次のように呼び出すことができる場合:

if(checkoutIsPresent()){
    // do something
}
于 2012-07-15T04:36:55.527 に答える