diff --git a/brozzler/js-templates/umbraBehavior.js.j2 b/brozzler/js-templates/umbraBehavior.js.j2 index 24f268d..278c956 100644 --- a/brozzler/js-templates/umbraBehavior.js.j2 +++ b/brozzler/js-templates/umbraBehavior.js.j2 @@ -25,7 +25,7 @@ class UmbraBehavior { this.alreadyDone = []; this.idleSince = null; this.intervalId = null; - this.intervalTimeMs = {{interval or '300'}}; + this.intervalTimeMs = {{interval or 300}}; this.index = 0; } @@ -33,7 +33,8 @@ class UmbraBehavior { // should match older default and simpleclicks behavior, and more var k = this.index; var selector = this.actions[k].selector; - var skipIDCheck = this.actions[k].skipIDcheck ? this.actions[k].skipIDcheck !== false : false; + var skipIDCheck = this.actions[k].skipIDcheck ? this.actions[k].skipIDcheck != false : false; + var onceOnly = this.actions[k].onceOnly ? this.actions[k].onceOnly != false: false; var action = this.actions[k].do ? this.actions[k].do : 'click'; var closeSelector = this.actions[k].closeSelector ? this.actions[k].closeSelector : null; var didSomething = false; @@ -57,7 +58,11 @@ class UmbraBehavior { doTarget(closeTargets[0], 'click'); } } - var doTargets = documents[j].querySelectorAll(selector); + if (onceOnly) { + var doTargets = [ documents[j].querySelector(selector) ]; + } else { + var doTargets = documents[j].querySelectorAll(selector); + } var doTargetsLength = doTargets.length; if (!(doTargetsLength > 0)) { continue;