At a quick glance:
This is the code that is called by the bookmarklet:
https://cdn.hypothes.is/hypothesis
Since it's not too big, I tried putting that into a Javascript beautifier, and it turns out that they actually do some feature detection:
Code: Select all
if (function() {
var s = [function() {
return Promise.resolve()
}, function() {
return new Map
}, function() {
return new URL(document.location.href)
}, function() {
return new Request("https://hypothes.is")
}, function() {
return Element.prototype.attachShadow
}, function() {
return CSS.supports("display: grid")
}, function() {
return document.evaluate("/html/body", document, null, XPathResult.ANY_TYPE, null), !0
}];
try {
return s.every((function(s) {
return s()
}))
} catch (s) {
return !1
}
}()) {
// some more code here
} else console.warn("The Hypothesis annotation tool is not supported in this browser. See https://web.hypothes.is/help/which-browsers-are-supported-by-hypothesis/.")
In my tests, Element.prototype.attachShadow returns undefined (which is falsy) in Pale Moon, so this would fail the feature detection. And since they do use actual feature detection rather than an arbitrary UA check, I would assume that the bookmarklet is actually incompatible with Pale Moon currently.