Intervention reports indicate that a browser has decided to not do what the server asked it to do for security, performance or user annoyance reasons. The browser may for example block phone vibration unless the user has already interacted with the page somehow.
Report-To
response header:Report-To: {"group":"default","max_age":1800,"endpoints":[{"url":"https://hatred.has.report/report.php"}],"include_subdomains":true}
group
: the name of the group, can be used in a CSP header in the report-to
directive, for examplemax_age
: how long the browser should use the endpoint and report errors to itendpoints
: reporting endpoint configuration, can specify multiple endpoints but reports will be sent to just one of them
url
: where to send reports to, must be https://
, otherwise the endpoint will be ignored
The mousewheel (in Chromium-based browsers) and touch (also in Firefox) event listeners that are registered on document level targets (e.g. window.document
or window
)
will be treated as passive (it has something to do with custom scrolling)
if not specified as otherwise and calling preventDefault()
inside such listeners will be ignored
<script>
document.getElementById('wheel').onclick = function() {
let sent = 0;
const handler = function (event) {
event.preventDefault();
console.log('Whee');
sent++;
if (sent === 3) {
window.removeEventListener('wheel', handler);
window.removeEventListener('touchstart', handler);
}
};
window.addEventListener('wheel', handler);
window.addEventListener('touchstart', handler);
alert('Wheel and touchstart handlers added, now scroll');
}
</script>
See Chrome's incomplete list of interventions (the above-mentioned phone vibrate intervention is not included in this list for some reason).
Reporting-Endpoints
instead of Report-To
) and moving out concrete reports into the following separate Draft Community Group Reports:
Crash Reporting,
Deprecation Reporting,
Intervention Reporting