mirror of https://github.com/gorhill/uBlock.git
Remove experimental click-to-load disqus scriptlets
As per AMO reviewer: > We will need you to remove the remote scripts in > > web_accessible_resources\disqus_embed.js - line 48 > web_accessible_resources\disqus_forums_embed.js - line 44 Related issue: - https://github.com/gorhill/uBlock/issues/1899
This commit is contained in:
parent
c892718021
commit
7c22a31294
|
@ -1,58 +0,0 @@
|
|||
/*******************************************************************************
|
||||
|
||||
uBlock Origin - a browser extension to block requests.
|
||||
Copyright (C) 2019-present Raymond Hill
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see {http://www.gnu.org/licenses/}.
|
||||
|
||||
Home: https://github.com/gorhill/uBlock
|
||||
*/
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
const p = document.getElementById(window.disqus_container_id || 'disqus_thread');
|
||||
if ( p === null ) { return; }
|
||||
const b = document.createElement('button');
|
||||
b.textContent = 'Disqus blocked by uBlock Origin: click to unblock';
|
||||
b.type = 'button';
|
||||
p.appendChild(b);
|
||||
const loadDisqus = function(ev) {
|
||||
b.remove();
|
||||
let disqusScript =
|
||||
document.querySelector('script[src$=".disqus.com/embed.js"]');
|
||||
let newScript;
|
||||
if ( disqusScript !== null ) {
|
||||
disqusScript.remove();
|
||||
newScript = document.createElement('script');
|
||||
if ( disqusScript.hasAttributes() ) {
|
||||
const attrs = disqusScript.attributes;
|
||||
for ( let i = 0; i < attrs.length; i++ ) {
|
||||
const attr = attrs[i];
|
||||
newScript.setAttribute(attr.name, attr.value);
|
||||
}
|
||||
}
|
||||
} else if ( typeof self.disqus_shortname === 'string' ) {
|
||||
newScript = document.createElement('script');
|
||||
newScript.async = true;
|
||||
newScript.src = `//${self.disqus_shortname}.disqus.com/embed.js`;
|
||||
}
|
||||
if ( newScript === undefined ) { return; }
|
||||
const t = Date.now().toString();
|
||||
newScript.src += '?_=1457540' + t.slice(-6);
|
||||
document.body.appendChild(newScript);
|
||||
ev.preventDefault();
|
||||
ev.stopPropagation();
|
||||
};
|
||||
b.addEventListener('click', loadDisqus, { once: true });
|
||||
})();
|
|
@ -1,52 +0,0 @@
|
|||
/*******************************************************************************
|
||||
|
||||
uBlock Origin - a browser extension to block requests.
|
||||
Copyright (C) 2019-present Raymond Hill
|
||||
|
||||
This program is free software: you can redistribute it and/or modify
|
||||
it under the terms of the GNU General Public License as published by
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program is distributed in the hope that it will be useful,
|
||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
GNU General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see {http://www.gnu.org/licenses/}.
|
||||
|
||||
Home: https://github.com/gorhill/uBlock
|
||||
|
||||
Completely experimental: load Disqus on demand only. Purpose is to avoid
|
||||
connecting to Disqus' servers, unless the user explicitly asks for the
|
||||
comments to be loaded.
|
||||
Works with following filters:
|
||||
||disqus.com/forums/*embed.js$script,redirect=disqus.com/forums/*embed.js
|
||||
||disqus.com/embed.js$script,redirect=disqus.com/embed.js
|
||||
||disqus.com/count.js$script
|
||||
@@||disqus.com/embed.js?_=1457540*$script
|
||||
If you want a site you regularly visit to always have the comment loaded,
|
||||
just use an exception static filter. Example for wired.com:
|
||||
@@||wired.disqus.com/embed.js
|
||||
|
||||
*/
|
||||
|
||||
(function() {
|
||||
'use strict';
|
||||
const ee = document.getElementsByTagName('script');
|
||||
let i = ee.length, src;
|
||||
while ( i-- ) {
|
||||
src = ee[i].src || '';
|
||||
if ( src === '' ) {
|
||||
continue;
|
||||
}
|
||||
if ( src.lastIndexOf('disqus.com/embed.js') === (src.length - 19) ) {
|
||||
return;
|
||||
}
|
||||
}
|
||||
const e = document.createElement('script');
|
||||
e.async = true;
|
||||
e.src = '//' + window.disqus_shortname + '.disqus.com/embed.js';
|
||||
document.body.appendChild(e);
|
||||
})();
|
Loading…
Reference in New Issue