我正在使用一个名为 Optimizely 的登陆页面 A/B 测试工具。其中一种定位方法是通过访问者所在的 URL + 自定义 Javascript 条件。有一个框,我可以在其中输入 Javascript 条件。我需要条件来搜索 HTML 中的“checkout”一词,如果找到则评估为 true。任何帮助将非常感激。谢谢
问问题
439 次
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 回答