mirror of
https://github.com/internetarchive/brozzler.git
synced 2025-06-24 06:44:09 -04:00
simpler implementation for https://github.com/internetarchive/umbra/pull/42/files
This commit is contained in:
parent
4624f47402
commit
b30cc2d68b
2 changed files with 60 additions and 32 deletions
|
@ -4,18 +4,35 @@ var umbraSimpleClicksBehavior = {
|
||||||
alreadyClicked: {},
|
alreadyClicked: {},
|
||||||
|
|
||||||
intervalFunc: function() {
|
intervalFunc: function() {
|
||||||
var clickTargets = document.querySelectorAll("${click_css_selector}");
|
var iframes = document.querySelectorAll("iframe");
|
||||||
|
var documents = Array(iframes.length + 1);
|
||||||
|
documents[0] = document;
|
||||||
|
for (var i = 0; i < iframes.length; i++) {
|
||||||
|
documents[i+1] = iframes[i].contentWindow.document;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (var j = 0; j < documents.length; j++) {
|
||||||
|
var clickTargets = documents[j].querySelectorAll("${click_css_selector}");
|
||||||
for (var i = 0; i < clickTargets.length; i++) {
|
for (var i = 0; i < clickTargets.length; i++) {
|
||||||
var key = clickTargets[i].outerHTML;
|
var key = clickTargets[i].outerHTML;
|
||||||
if (!this.alreadyClicked[key]) {
|
if (!this.alreadyClicked[key]) {
|
||||||
console.log("clicking on " + key);
|
console.log("clicking on " + key);
|
||||||
|
|
||||||
|
// do mouse over event on click target
|
||||||
|
// since some urls are requsted only on
|
||||||
|
// this event - see
|
||||||
|
// https://webarchive.jira.com/browse/AITFIVE-451
|
||||||
|
var mouseOverEvent = document.createEvent('Events');
|
||||||
|
mouseOverEvent.initEvent("mouseover", true, false);
|
||||||
|
clickTargets[i].dispatchEvent(mouseOverEvent);
|
||||||
|
|
||||||
clickTargets[i].click();
|
clickTargets[i].click();
|
||||||
this.alreadyClicked[key] = true;
|
this.alreadyClicked[key] = true;
|
||||||
this.idleSince = null;
|
this.idleSince = null;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (!this.idleSince) {
|
if (!this.idleSince) {
|
||||||
this.idleSince = Date.now();
|
this.idleSince = Date.now();
|
||||||
|
|
|
@ -28,6 +28,17 @@ behaviors:
|
||||||
url_regex: '^https?://(?:www\.)?usask.ca/.*$'
|
url_regex: '^https?://(?:www\.)?usask.ca/.*$'
|
||||||
click_css_selector: a[id='feature-next']
|
click_css_selector: a[id='feature-next']
|
||||||
request_idle_timeout_sec: 10
|
request_idle_timeout_sec: 10
|
||||||
|
# https://webarchive.jira.com/browse/ARI-4128
|
||||||
|
url_regex: '^https?://(?:www\.)?psu24.psu.edu/.*$'
|
||||||
|
click_css_selector: a[id='load-more']
|
||||||
|
- # https://webarchive.jira.com/browse/AITFIVE-451
|
||||||
|
url_regex: '^https?://(?:www\.)?soundcloud.com/.*$'
|
||||||
|
click_css_selector: button.sc-button-play, button.playButton
|
||||||
|
request_idle_timeout_sec: 10
|
||||||
|
- # https://webarchive.jira.com/browse/AITFIVE-463
|
||||||
|
url_regex: '^https?://(?:www\.)?christophercerrone.com/.*$'
|
||||||
|
click_css_selector: button.playButton.medium
|
||||||
|
request_idle_timeout_sec: 10
|
||||||
- # default fallback brhavior
|
- # default fallback brhavior
|
||||||
url_regex: '^.*$'
|
url_regex: '^.*$'
|
||||||
request_idle_timeout_sec: 10
|
request_idle_timeout_sec: 10
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue