mirror of
https://github.com/gorhill/uBlock.git
synced 2024-10-06 09:37:12 +02:00
Add refresh-defuser scriptlet
To specifically defuse the reloading of a document through a meta "refresh" tag. Related feedback: - https://www.reddit.com/r/uBlockOrigin/comments/q0frv0/ As per solution from AdGuard: - https://www.reddit.com/r/uBlockOrigin/comments/q0frv0/while_reading_a_sports_article_i_was_redirected/hf7wo9v/
This commit is contained in:
parent
9cd69ce1bd
commit
c0a43b0d32
@ -723,6 +723,27 @@
|
|||||||
})();
|
})();
|
||||||
|
|
||||||
|
|
||||||
|
/// refresh-defuser.js
|
||||||
|
// https://www.reddit.com/r/uBlockOrigin/comments/q0frv0/while_reading_a_sports_article_i_was_redirected/hf7wo9v/
|
||||||
|
(function() {
|
||||||
|
const arg1 = '{{1}}';
|
||||||
|
const defuse = ( ) => {
|
||||||
|
const meta = document.querySelector('meta[http-equiv="refresh" i][content]');
|
||||||
|
if ( meta === null ) { return; }
|
||||||
|
const s = arg1 === '' || arg1 === '{{1}}'
|
||||||
|
? meta.getAttribute('content')
|
||||||
|
: arg1;
|
||||||
|
const ms = Math.max(parseFloat(s) || 0, 0) * 1000;
|
||||||
|
setTimeout(( ) => { window.stop(); }, ms);
|
||||||
|
};
|
||||||
|
if ( document.readyState === 'loading' ) {
|
||||||
|
document.addEventListener('DOMContentLoaded', defuse, { once: true });
|
||||||
|
} else {
|
||||||
|
defuse();
|
||||||
|
}
|
||||||
|
})();
|
||||||
|
|
||||||
|
|
||||||
/// remove-attr.js
|
/// remove-attr.js
|
||||||
/// alias ra.js
|
/// alias ra.js
|
||||||
(function() {
|
(function() {
|
||||||
|
Loading…
Reference in New Issue
Block a user