0

我正在使用一个名为 Optimizely 的登陆页面 A/B 测试工具。其中一种定位方法是通过访问者所在的 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 回答