Merge pull request #144 from galgeek/umbraBehavior18q4

fix instagram captures; add skipIframe feature
This commit is contained in:
Noah Levitt 2018-12-17 15:09:52 -08:00 committed by GitHub
commit d8c9dd2ff4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 16 additions and 7 deletions

View File

@ -25,9 +25,11 @@
url_regex: '^https?://(?:www\.)?instagram\.com/.*$'
behavior_js_template: umbraBehavior.js.j2
default_parameters:
interval: 500
skip_iframes: true
actions:
- selector: a.coreSpriteDismissLarge
- selector: a>div[role='button']
- selector: button.coreSpriteDismissLarge
- selector: 'a>.eLAPa>.KL4Bh'
firstMatchOnly: true
- selector: a.coreSpriteRightPaginationArrow
repeatSameElement: true

View File

@ -26,6 +26,11 @@ class UmbraBehavior {
this.idleSince = null;
this.intervalId = null;
this.intervalTimeMs = {{interval or 300}};
{% if skip_iframes %}
this.skipIframes = true;
{% else %}
this.skipIframes = false;
{% endif %}
this.index = 0;
}
@ -41,12 +46,14 @@ class UmbraBehavior {
var somethingLeftAbove = false;
var somethingLeftBelow = false;
var iframes = document.querySelectorAll("iframe");
var iframesLength = iframes.length;
var documents = Array(iframesLength + 1);
var documents = [];
documents[0] = document;
for (var i = 0; i < iframesLength; i++) {
documents[i+1] = iframes[i].contentWindow.document;
if (!(this.skipIframes)) {
var iframes = document.querySelectorAll("iframe");
var iframesLength = iframes.length;
for (var i = 0; i < iframesLength; i++) {
documents.push(iframes[i].contentWindow.document);
}
}
var documentsLength = documents.length;
for (var j = 0; j < documentsLength; j++) {