|
1197 | 1197 | // https://github.com/NanoAdblocker/NanoFilters/issues/149 |
1198 | 1198 | /// cookie-remover.js |
1199 | 1199 | (function() { |
1200 | | - let needle = '{{1}}', |
1201 | | - reName = /./; |
| 1200 | + const needle = '{{1}}'; |
| 1201 | + let reName = /./; |
1202 | 1202 | if ( /^\/.+\/$/.test(needle) ) { |
1203 | 1203 | reName = new RegExp(needle.slice(1,-1)); |
1204 | 1204 | } else if ( needle !== '' && needle !== '{{1}}' ) { |
1205 | 1205 | reName = new RegExp(needle.replace(/[.*+?^${}()|[\]\\]/g, '\\$&')); |
1206 | 1206 | } |
1207 | | - let removeCookie = function() { |
| 1207 | + const removeCookie = function() { |
1208 | 1208 | document.cookie.split(';').forEach(cookieStr => { |
1209 | 1209 | let pos = cookieStr.indexOf('='); |
1210 | 1210 | if ( pos === -1 ) { return; } |
|
1213 | 1213 | let part1 = cookieName + '='; |
1214 | 1214 | let part2a = '; domain=' + document.location.hostname; |
1215 | 1215 | let part2b = '; domain=.' + document.location.hostname; |
| 1216 | + let part2c, part2d; |
1216 | 1217 | let domain = document.domain; |
1217 | | - let part2c = domain && domain !== document.location.hostname ? '; domain=.' + domain : undefined; |
| 1218 | + if ( domain ) { |
| 1219 | + if ( domain !== document.location.hostname ) { |
| 1220 | + part2c = '; domain=.' + domain; |
| 1221 | + } |
| 1222 | + if ( domain.startsWith('www.') ) { |
| 1223 | + part2d = '; domain=' + domain.replace('www', ''); |
| 1224 | + } |
| 1225 | + } |
1218 | 1226 | let part3 = '; path=/'; |
1219 | 1227 | let part4 = '; Max-Age=-1000; expires=Thu, 01 Jan 1970 00:00:00 GMT'; |
1220 | 1228 | document.cookie = part1 + part4; |
|
1226 | 1234 | if ( part2c !== undefined ) { |
1227 | 1235 | document.cookie = part1 + part2c + part3 + part4; |
1228 | 1236 | } |
| 1237 | + if ( part2d !== undefined ) { |
| 1238 | + document.cookie = part1 + part2d + part3 + part4; |
| 1239 | + } |
1229 | 1240 | }); |
1230 | 1241 | }; |
1231 | 1242 | removeCookie(); |
|
0 commit comments