mirror of
https://github.com/internetarchive/brozzler.git
synced 2025-08-08 06:22:23 -04:00
pitchfork behavior, based on pm-ca and facebook behaviors
This commit is contained in:
parent
82b77b6903
commit
24a68cb55d
1 changed files with 30 additions and 6 deletions
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* brozzler/behaviors.d/pm-ca.js - behavior for http://pm.gc.ca/eng/news
|
* brozzler/behaviors.d/pm-ca.js - behavior for http://pitchfork.com/festival/chicago/
|
||||||
*
|
*
|
||||||
* Copyright (C) 2014-2017 Internet Archive
|
* Copyright (C) 2014-2017 Internet Archive
|
||||||
*
|
*
|
||||||
|
@ -45,6 +45,35 @@ var umbraBehavior = {
|
||||||
}
|
}
|
||||||
|
|
||||||
for (var j = 0; j < documents.length; j++) {
|
for (var j = 0; j < documents.length; j++) {
|
||||||
|
var closeTargets = documents[j].querySelectorAll(closeSelector);
|
||||||
|
for (var i = 0; i < closeTargets.length; i++) {
|
||||||
|
if (!this.isVisible(closeTargets[i])) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
var where = this.aboveBelowOrOnScreen(closeTargets[i]);
|
||||||
|
|
||||||
|
if (where == 0) {
|
||||||
|
// console.log("clicking on " + clickTargets[i].outerHTML);
|
||||||
|
// 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);
|
||||||
|
closeTargets[i].dispatchEvent(mouseOverEvent);
|
||||||
|
closeTargets[i].click();
|
||||||
|
clickedSomething = true;
|
||||||
|
this.idleSince = null;
|
||||||
|
|
||||||
|
break; //break from closeTargets loop, but not from iframe loop
|
||||||
|
} else if (where > 0) {
|
||||||
|
somethingLeftBelow = true;
|
||||||
|
} else if (where < 0) {
|
||||||
|
somethingLeftAbove = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
var clickTargets = documents[j].querySelectorAll(cssSelector);
|
var clickTargets = documents[j].querySelectorAll(cssSelector);
|
||||||
for (var i = 0; i < clickTargets.length; i++) {
|
for (var i = 0; i < clickTargets.length; i++) {
|
||||||
if (!this.isVisible(clickTargets[i])) {
|
if (!this.isVisible(clickTargets[i])) {
|
||||||
|
@ -70,11 +99,6 @@ var umbraBehavior = {
|
||||||
this.idleSince = null;
|
this.idleSince = null;
|
||||||
this.itemsText += clickTargets[i].innerText;
|
this.itemsText += clickTargets[i].innerText;
|
||||||
|
|
||||||
var closeTarget = documents[j].querySelectorAll(closeSelector);
|
|
||||||
if (closeTarget != []) {
|
|
||||||
closeTarget[0].click()
|
|
||||||
}
|
|
||||||
|
|
||||||
break; //break from clickTargets loop, but not from iframe loop
|
break; //break from clickTargets loop, but not from iframe loop
|
||||||
} else if (where > 0) {
|
} else if (where > 0) {
|
||||||
somethingLeftBelow = true;
|
somethingLeftBelow = true;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue