在HTML中搜索字符串并返回True的Javascript条件

Javascript Condition to Search HTML for String and Return True

本文关键字:True 返回 Javascript 条件 串并 字符串 HTML 搜索 字符      更新时间:2023-09-26

我正在使用一个名为Optimizely的登录页a/B测试工具。其中一种定位方法是通过访问者所在的URL+自定义Javascript条件。有一个框,我可以在其中输入Javascript条件。我需要在HTML中搜索单词"checkout"的条件,如果找到,则评估为true。任何帮助都将不胜感激。感谢

我使用了这篇文章中的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
}