Project

General

Profile

« Previous | Next » 

Revision bac96457

Added by koszko over 1 year ago

improve some of the fixes and add sample URLs for testing

View differences:

index.json
33 33
	"version":      [2022, 2, 18],
34 34
	"description":  "Make accuweather.com display its contents without nonfree JavaScript.",
35 35
	"payloads": {
36
	    // * https://www.accuweather.com/en/pl/krakow/2-274455_1_al/weather-forecast/2-274455_1_al
37
	    // * https://www.accuweather.com/en/us/new-york/10007/weather-forecast/349727
38
	    // Or just go https://www.accuweather.com/en/search-locations?query=<NAME_OF_SOME_CITY>
39
	    // and select a city from the list.
36 40
	    "https://www.accuweather.com/***": {
37 41
		"identifier": "accuweather-com-fix"
38 42
	    }
......
56 60
	"version":      [2022, 2, 18],
57 61
	"description":  "Make bandcamp.com inline player usable without nonfree JavaScript.",
58 62
	"payloads": {
63
	    // * https://old.reddit.com/search?q=url%3Abandcamp.com%2Ftrack%2F <- to get more testing links
64
	    // * https://chaiofficial.bandcamp.com/track/whole
65
	    // * https://studio273.bandcamp.com/track/sweet
59 66
	    "https://*.bandcamp.com/track/*": {
60 67
		"identifier": "bandcamp-com-fix"
61 68
	    }
......
79 86
	"version":      [2022, 2, 18],
80 87
	"description":  "Make app.box.com files downloadable without nonfree JavaScript.",
81 88
	"payloads": {
89
	    // * https://old.reddit.com/domain/app.box.com/ <- to get more testing links
90
	    // * https://uwmadison.app.box.com/s/ydht2incbdmw1lhpjg5t40adguc0fm14
91
	    // * https://app.box.com/s/gc4ygloi4qtimeh98dq9mmydyuydawcn
92
	    // * https://app.box.com/s/vysdh2u78yih3c8leetgq82il954a3g3
93
	    // * https://app.box.com/s/nnlplkmjhimau404qohh9my10pwmo8es
94
	    // * https://ucla.app.box.com/s/mv32q624ojihohzh8d0mhhj0b3xluzbz
95
	    // * https://app.box.com/s/6qktxunhz5sjkheg1a8iihvu4mofpdue
82 96
	    "https://***.app.box.com/s/*": {
83 97
		"identifier": "app-box-fix"
84 98
	    }
......
86 100
    }, {
87 101

  
88 102
	"type":         "resource",
89
	"identifier":   "pcspecialist-co-uk-fix-cookienotice",
90
	"long_name":    "PCSpecialist cookie notice fix",
103
	"identifier":   "pcspecialist-fix-notice",
104
	"long_name":    "PCSpecialist notice fix",
91 105
	"uuid":         "ce43448d-7c51-4e63-91b0-d69ffd4dd4d1",
92
	"version":      [2022, 2, 18],
106
	"version":      [2022, 2, 21],
93 107
	"revision":     1,
94
	"description":  "Make pcspecialist.co.uk cookie notice closable without nonfree JavaScript.",
108
	"description":  "Make PCSpecialist cookie and language notices closable without nonfree JavaScript.",
95 109
	"dependencies": [],
96
	"scripts":      [{"file": "src/pcspecialist_cookie_notice.js"}]
110
	"scripts":      [{"file": "src/pcspecialist_notice.js"}]
97 111
    }, {
98 112
	"type":         "resource",
99
	"identifier":   "pcspecialist-co-uk-fix-priceview",
113
	"identifier":   "pcspecialist-fix-priceview",
100 114
	"long_name":    "PCSpecialist price display fix",
101 115
	"uuid":         "57a21d8a-8d7b-466b-b9c9-69d835619e4d",
102
	"version":      [2022, 2, 18],
116
	"version":      [2022, 2, 21],
103 117
	"revision":     1,
104
	"description":  "Make pcspecialist.co.uk product prices viewable without nonfree JavaScript.",
105
	"dependencies": [],
118
	"description":  "Make PCSpecialist product prices viewable without nonfree JavaScript.",
119
	"dependencies": [{"identifier": "pcspecialist-fix-notice"}],
106 120
	"scripts":      [{"file": "src/pcspecialist_display_prices.js"}]
107 121
    }, {
108 122
	"type":         "mapping",
109
	"identifier":   "pcspecialist-co-uk-fix",
123
	"identifier":   "pcspecialist-fix",
110 124
	"long_name":    "PCSpecialist fix",
111 125
	"uuid":	        "159a2adc-9b05-4dc6-9eb3-e18ee3843d8d",
112
	"version":      [2022, 2, 18],
113
	"description":  "Make pcspecialist.co.uk cookie notice closable and display prices without nonfree JavaScript.",
126
	"version":      [2022, 2, 21],
127
	"description":  "Make PCSpecialist cookie notice closable and display prices without nonfree JavaScript.",
114 128
	"payloads": {
129
	    // https://www.pcspecialist.co.uk/
115 130
	    "https://www.pcspecialist.co.uk/***": {
116
		"identifier": "pcspecialist-co-uk-fix-cookienotice"
131
		"identifier": "pcspecialist-fix-notice"
117 132
	    },
133
	    // https://www.pcspecialist.pl/
134
	    "https://www.pcspecialist.pl/***": {
135
		"identifier": "pcspecialist-fix-notice"
136
	    },
137
	    // https://www.pcspecialist.co.uk/view/AURORA-ELITE/
118 138
	    "https://www.pcspecialist.co.uk/view/*": {
119
		"identifier": "pcspecialist-co-uk-fix-priceview"
139
		"identifier": "pcspecialist-fix-priceview"
140
	    },
141
	    // https://www.pcspecialist.pl/widok/Torva-Elite/
142
	    "https://www.pcspecialist.pl/widok/*": {
143
		"identifier": "pcspecialist-fix-priceview"
120 144
	    }
121 145
	}
122 146
    }, {
......
138 162
	"version":      [2022, 2, 18],
139 163
	"description":  "Make it possible to sumbit SMS code on acsv.centrum24.pl without nonfree JavaScript.",
140 164
	"payloads": {
165
	    // Only possible to use when paying with a credit/debit card online.
141 166
	    "https://acsv.centrum24.pl/ACS/servlet/ACSAuthoriz": {
142 167
		"identifier": "acsv-centrum24-pl-fix-authorize"
143 168
	    }
......
171 196
	"identifier":   "google-forms-fix",
172 197
	"long_name":    "Google Forms submission (incomplete) fix",
173 198
	"uuid":         "23f51630-6118-4ef2-9709-2a1dba7ebb52",
174
	"version":      [2022, 2, 18],
199
	"version":      [2022, 2, 21],
175 200
	"revision":     1,
176 201
	"description":  "Enable filling and submitting of Google Forms without nonfree JavaScript.",
177 202
	"dependencies": [],
......
181 206
	"identifier":   "google-forms-fix",
182 207
	"long_name":    "Google Forms submission (incomplete) fix",
183 208
	"uuid":	        "0aba91dc-e552-4276-a981-1a56d30f9058",
184
	"version":      [2022, 2, 18],
209
	"version":      [2022, 2, 21],
185 210
	"description":  "Enable filling and submitting of Google Forms without nonfree JavaScript.",
186 211
	"payloads": {
187
	    "https://docs.google.com/forms/d/e/**": {
212
	    // * https://old.reddit.com/search?q=url%3Adocs.google.com%2Fforms <- to get more testing links
213
	    // * https://docs.google.com/forms/d/e/1FAIpQLSeptahnx4tj-mr2QIzKiy1LN0HrZVR88-XwVtKDb33KbshaQA/viewform
214
	    // * https://docs.google.com/forms/d/e/1FAIpQLSeswHRJzUMWnCQPnaGHeB3xM7YyJdWMf2eMpHJOnetLEoeXmw/viewform
215
	    // * https://docs.google.com/forms/d/e/1FAIpQLSeptahnx4tj-mr2QIzKiy1LN0HrZVR88-XwVtKDb33KbshaQA/viewform
216
	    "https://docs.google.com/forms/d/**": {
188 217
		"identifier": "google-forms-fix"
189 218
	    }
190 219
	}
......
207 236
	"version":      [2022, 2, 18],
208 237
	"description":  "Enable browsing of Google Drive folders without nonfree JavaScript.",
209 238
	"payloads": {
239
	    // * https://old.reddit.com/search?q=url%3Adrive.google.com%2Fdrive%2Ffolders%2F <- to get testing links
210 240
	    "https://drive.google.com/drive/folders/***": {
211 241
		"identifier": "google-drive-fix-browse"
212 242
	    }
......
230 260
	"version":      [2022, 2, 18],
231 261
	"description":  "Enable download of Google Drive files without nonfree JavaScript.",
232 262
	"payloads": {
263
	    // * https://old.reddit.com/search?q=url%3Adrive.google.com%2Fdrive%2Ffile%2Fd%2F <- to get testing links
233 264
	    "https://drive.google.com/file/d/**": {
234 265
		"identifier": "google-drive-fix-download"
235 266
	    }
......
240 271
	"identifier":   "google-sheets-fix-display",
241 272
	"long_name":    "Google Sheets display&download fix",
242 273
	"uuid":         "268235b0-85d5-4170-b90f-7722926f0a93",
243
	"version":      [2022, 2, 18, 1],
274
	"version":      [2022, 2, 21],
244 275
	"revision":     1,
245
	"description":  "Make spreadsheets on drive.google.com viewable and downloadable without nonfree JavaScript.",
276
	"description":  "Make spreadsheets on docs.google.com viewable and downloadable without nonfree JavaScript.",
246 277
	"dependencies": [],
247 278
	"scripts":      [{"file": "src/google_sheets_download.js"}]
248 279
    }, {
......
250 281
	"identifier":   "google-sheets-fix-display",
251 282
	"long_name":    "Google Sheets display&download fix",
252 283
	"uuid":	        "adf53341-685d-4c20-b481-d5c778144ec6",
253
	"version":      [2022, 2, 18],
254
	"description":  "Make spreadsheets on drive.google.com viewable and downloadable without nonfree JavaScript.",
284
	"version":      [2022, 2, 21],
285
	"description":  "Make spreadsheets on docs.google.com viewable and downloadable without nonfree JavaScript.",
255 286
	"payloads": {
287
	    // * https://old.reddit.com/search?q=url%3Adocs.google.com%2Fspreadsheets%2Fd%2F <- to get testing links
256 288
	    "https://docs.google.com/spreadsheets/d/**": {
257 289
		"identifier": "google-sheets-fix-display"
258 290
	    }
......
276 308
	"version":      [2022, 2, 18],
277 309
	"description":  "Make videos on archive.org playable without relying on site-served JavaScript.",
278 310
	"payloads": {
311
	    // * https://archive.org/details/opensource_movies <- to get testing links
279 312
	    "https://archive.org/details/*": {
280 313
		"identifier": "internet-archive-fix-videos"
281 314
	    }
......
299 332
	"version":      [2022, 2, 18],
300 333
	"description":  "Make library catalogs on worldcat.org searchable without nonfree JavaScript.",
301 334
	"payloads": {
335
	    // * https://old.reddit.com/search?q=url%3Aworldcat.org%2Ftitle%2F <- to get testing links
302 336
	    "https://www.worldcat.org/title/**": {
303 337
		"identifier": "worldcat-org-fix"
304 338
	    },
......
312 346
	"identifier":   "odysee-com-fix",
313 347
	"long_name":    "Odysee fix",
314 348
	"uuid":         "3309cb13-9910-4bdd-ab15-d6bb4f84c16a",
315
	"version":      [2022, 2, 18],
349
	"version":      [2022, 2, 21],
316 350
	"revision":     1,
317 351
	"description":  "Make video playback and search on odysee.com functional without nonfree JavaScript.",
318 352
	"dependencies": [],
......
325 359
	"version":      [2022, 2, 18],
326 360
	"description":  "Make video playback and search on odysee.com functional without nonfree JavaScript.",
327 361
	"payloads": {
362
	    // To test go to https://odysee.com/, then try searching for videos
363
	    // and playing them.
328 364
	    "https://odysee.com/***": {
329 365
		"identifier": "odysee-com-fix"
330 366
	    }
......
358 394
	"identifier":   "rgs-org-fix-exhibitions",
359 395
	"long_name":    "Royal Geographical Society online exhibitions fix",
360 396
	"uuid":         "041bc23a-86ca-4c98-8bc2-2965baa0f5f9",
361
	"version":      [2022, 2, 18],
397
	"version":      [2022, 2, 21],
362 398
	"revision":     1,
363 399
	"description":  "Make online exhibitions pages on rgs.org viewable without nonfree JavaScript.",
364 400
	"dependencies": [],
......
371 407
	"version":      [2022, 2, 18],
372 408
	"description":  "Make online exhibitions pages on rgs.org viewable without nonfree JavaScript.",
373 409
	"payloads": {
410
	    // To test go to https://www.rgs.org/about/our-collections/online-exhibitions/
411
	    // and navigate to subpages from there.
374 412
	    "https://www.rgs.org/about/our-collections/online-exhibitions/***": {
375 413
		"identifier": "rgs-org-fix-exhibitions"
376 414
	    }
......
394 432
	"version":      [2022, 2, 18],
395 433
	"description":  "Make benchmarks in phoronix.com articles display without nonfree JavaScript.",
396 434
	"payloads": {
435
	    // To test use your preferred search engine to search for
436
	    // "phoronix com benchmarks" - most of the articles that show up
437
	    // should have some openbenchmarking.org benchmarks in them.
397 438
	    "https://www.phoronix.com/***": {
398 439
		"identifier": "phoronix-com-fix-benchmarks"
399 440
	    }
......
417 458
	"version":      [2022, 2, 18],
418 459
	"description":  "Make it possible to sign SumOfUs petitions without nonfree Javascript.",
419 460
	"payloads": {
461
	    // * https://actions.sumofus.org/a/mps-protect-the-indigenous-people-and-scrap-draft-bill-490-2007-1
420 462
	    "https://actions.sumofus.org/a/*": {
421 463
		"identifier": "sumofus-fix"
422 464
	    }
......
437 479
	"identifier":   "stack-exchange-fix-cookienotice",
438 480
	"long_name":    "StackExchange cookie notice fix",
439 481
	"uuid":	        "ed01ce66-2dae-492f-9448-7e6309970315",
440
	"version":      [2022, 2, 18],
482
	"version":      [2022, 2, 21],
441 483
	"description":  "Make cookie notice on StackExchange websites closable without nonfree JavaScript.",
442 484
	"payloads": {
443 485
	    // The list of domains can be constructed by going to
......
446 488
	    //     .filter(n => n.nodeName === "A" && n.href)
447 489
	    //     .map(n => n.href)
448 490
	    //     .filter(u => !/^https:\/\/[^.]+\.stackexchange.com\/$/.test(u))
449
	    "https://stackoverflow.com/***": {
450
		"identifier": "stack-exchange-fix-cookienotice"
451
	    },
491
	    //
492
	    // * https://academia.stackexchange.com/questions/182562/results-that-are-too-good-to-be-true-peer-review
493
	    // * https://stackoverflow.com
494
	    // * https://superuser.com
452 495
	    "https://serverfault.com/***": {
453 496
		"identifier": "stack-exchange-fix-cookienotice"
454 497
	    },
......
504 547
	"version":      [2022, 2, 18],
505 548
	"description":  "Watch YouTube videos on yewtu.be instead.",
506 549
	"payloads": {
550
	    // * https://youtube.com/watch?v=aqz-KE-bpKQ
551
	    // * https://www.youtube.com/embed/aqz-KE-bpKQ
507 552
	    "https://www.youtube.com/***": {
508 553
		"identifier": "yewtube-com-redirect-yewtube"
509 554
	    }
......
527 572
	"version":      [2022, 2, 18],
528 573
	"description":  "Watch vaticannews.va embedded YouTube videos on yewtu.be instead.",
529 574
	"payloads": {
575
	    // * https://www.vaticannews.va/en/vatican-city/news/2022-02/caritas-cambodia-retreat-czerny-video-message-care-fraternity.html
576
	    // Or just go to vaticannews.va and look for an article with video
577
	    // in it.
530 578
	    "https://www.vaticannews.va/***": {
531 579
		"identifier": "vaticannews-va-fix-videos"
532 580
	    }
src/box.js
40 40
 * proprietary program, I am not going to enforce this in court.
41 41
 */
42 42

  
43
// meta: match should be https://***.app.box.com/s/* (*** instead of * for the first section because otherwise plain app.box.com URLs won't work)
44
// meta: some test cases (mostly found at https://old.reddit.com/search?q="box.com"&include_over_18=on&sort=new)
45
	// https://uwmadison.app.box.com/s/ydht2incbdmw1lhpjg5t40adguc0fm14
46
		// umadison's enrollment report
47
		// pdf
48
	// https://app.box.com/s/gc4ygloi4qtimeh98dq9mmydyuydawcn
49
		// password-protected 7z file (nsfw)
50
	// https://app.box.com/shared/static/su6xx6zx50cd68zdtbm3wfxhh9kwke8x.zip
51
		// a soundtrack in a zip file
52
		// This is a static download, so it works without this script.
53
	// https://app.box.com/s/vysdh2u78yih3c8leetgq82il954a3g3
54
		// some gambling ad
55
		// pptx
56
	// https://app.box.com/s/nnlplkmjhimau404qohh9my10pwmo8es
57
		// a list of books(?)
58
		// txt
59
	// https://ucla.app.box.com/s/mv32q624ojihohzh8d0mhhj0b3xluzbz
60
		// "COVID-19 Pivot Plan Decision Matrix"
61
		// If you load the proprietary scripts on this page, you'll see that there is no download button
62
	// TODO: find a public folder link (the private links I have seem to work)
63
	// TODO: find a (preferably public) link with a folder inside a folder, as these may need to be handled differently
43
/*
44
 * Use with https://***.app.box.com/s/*
45
 * '***' instead of '*' for the first section because otherwise plain app.box.com
46
 * URLs won't work.
47
 */
48

  
49
// TODO: find a public folder link (the private links I have seem to work)
50
// TODO: find a (preferably public) link with a folder inside a folder, as these may need to be handled differently
64 51

  
65 52
/* Extract data from a script that sets multiple variables. */ // from here: https://api-demo.hachette-hydrilla.org/content/sgoogle_sheets_download/google_sheets_download.js
66 53

  
src/google_forms.js
4 4
 * (Incomplete) Fix for Google Forms
5 5
 *
6 6
 * Copyright © 2021 jahoti <jahoti@tilde.team>
7
 * Copyright 2022 Wojtek Kosior <koszko@koszko.org>
7 8
 *
8 9
 * Licensed under the Apache License, Version 2.0 (the "License");
9 10
 * you may not use this file except in compliance with the License.
......
16 17
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 18
 * See the License for the specific language governing permissions and
18 19
 * limitations under the License.
20
 *
21
 * I, Wojtek Kosior, thereby promise not to sue for violation of this file's
22
 * license. Although I request that you do not make use of this code in a way
23
 * incompliant with the license, I am not going to enforce this in court.
19 24
 */
20 25

  
21 26
var form = document.forms[0];
......
24 29
    var name = 'entry.' + data[0][4][0][0];
25 30
    var input = div.querySelector('input');
26 31

  
32
    if (!input) {
33
	console.error(`cannot enable input ${name}`, div);
34
	continue;
35
    }
36

  
27 37
    if (input.name === name + '_sentinel') { // Radio
28
	for (input of div.querySelectorAll('.appsMaterialWizToggleRadiogroupElContainer')) {
29
	    div = document.createElement('input');
30
	    div.type = 'radio';
31
	    div.name = name;
32
	    div.value = input.nextElementSibling.innerText.trim();
33
	    input.parentNode.replaceChild(div, input);
38
	for (const input_div of div.querySelectorAll('.appsMaterialWizToggleRadiogroupEl')) {
39
	    const new_radio = document.createElement('input');
40
	    new_radio.type = 'radio';
41
	    new_radio.name = name;
42
	    new_radio.value = input_div.getAttribute("data-value");
43
	    input_div.replaceWith(new_radio);
34 44
	}
35 45
    } else {
36 46
	input.removeAttribute('disabled');
......
51 61
    form.submit();
52 62
}
53 63

  
54
for (div of document.querySelectorAll('.freebirdFormviewerViewNavigationNoSubmitButton')) {
55
    input = document.createElement('button');
64
const submit_selector = ".freebirdFormviewerViewNavigationSubmitButton";
65
const next_selector = ".freebirdFormviewerViewNavigationNoSubmitButton";
66
for (const but_div of document.querySelectorAll(submit_selector))
67
    but_div.addEventListener("click", () => form.submit());
56 68

  
57
    data = div.innerText.trim();
58
    input.innerText = data;
59
    if (data.toLowerCase() === 'next')
60
	input.onclick = goToNext;
61
    else if (data.toLowerCase() === 'submit')
62
	input.type = 'submit';
63
    div.parentNode.replaceChild(input, div);
64
}
69
for (const but_div of document.querySelectorAll(next_selector))
70
    but_div.addEventListener("click", goToNext);
65 71

  
66
// TODO: back, instate previous entries
72
// TODO: back, instate previous entries, fix form parts that still don't work
src/odysee.js
287 287
	    description_div.textContent = result.value.description;
288 288

  
289 289
	    result_a.setAttribute("style", "display: block; width: 100%; text-decoration: none; color: #333; margin: 8px; border-style: solid; border-width: 3px 0 0 0; border-color: #7aa;");
290
	    result_a.href = `https://odysee.com${channel_specifier}/${video_name}:${video_id}`;
290
	    result_a.href = `https://odysee.com/${channel_specifier}/${video_name}:${video_id}`;
291 291

  
292 292
	    if (result.value.thumbnail.url)
293 293
		result_a.appendChild(thumbnail);
......
325 325

  
326 326
function get_detailed_search_entries(new_results_div, response)
327 327
{
328
    /* TODO: Simplify JSON handling using sanitize_JSON.js from Hachette. */
328
    /* TODO: Simplify JSON handling using JSON schemas. */
329 329
    try {
330 330
	var response_data = JSON.parse(response);
331 331
	if (!Array.isArray(response_data))
src/pcspecialist_cookie_notice.js
1
/**
2
 * SPDX-License-Identifier: Apache-2.0
3
 *
4
 * Copyright © 2021 jahoti <jahoti@tilde.team>
5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
9
 *
10
 *    http://www.apache.org/licenses/LICENSE-2.0
11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
17
 */
18

  
19
const jbc = document.querySelector('.cc-policy');
20

  
21
jbc.querySelector('.cc-buttons').onclick = () => jbc.parentNode.removeChild(jbc);
src/pcspecialist_display_prices.js
32 32
		}
33 33
	}
34 34

  
35
	const url = 'https://www.pcspecialist.co.uk/ajax/running_total.php?categories=' + names.join('%2C') +
35
	const url = '/ajax/running_total.php?categories=' + names.join('%2C') +
36 36
		    '%2C&products=' + values.join('%2C') + '%2C&q=' + form.querySelector('input[name="q"]').value + '&form_id=' + formId;
37 37

  
38 38
	xhr.onreadystatechange = priceUpdated;
src/pcspecialist_notice.js
1
/**
2
 * SPDX-License-Identifier: Apache-2.0
3
 *
4
 * Copyright © 2021 jahoti <jahoti@tilde.team>
5
 * Copyright 2022 Wojtek Kosior <koszko@koszko.org>
6
 *
7
 * Licensed under the Apache License, Version 2.0 (the "License");
8
 * you may not use this file except in compliance with the License.
9
 * You may obtain a copy of the License at
10
 *
11
 *    http://www.apache.org/licenses/LICENSE-2.0
12
 *
13
 * Unless required by applicable law or agreed to in writing, software
14
 * distributed under the License is distributed on an "AS IS" BASIS,
15
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16
 * See the License for the specific language governing permissions and
17
 * limitations under the License.
18
 *
19
 * I, Wojtek Kosior, thereby promise not to sue for violation of this file's
20
 * license. Although I request that you do not make use of this code in a way
21
 * incompliant with the license, I am not going to enforce this in court.
22
 */
23

  
24
/* Make cookie notice closable. */
25
const to_rem = document.querySelectorAll(".cc-policy-overlay, .cc-policy");
26

  
27
for (const cc_button of document.querySelectorAll(".cc-policy .cc-buttons"))
28
    cc_button.addEventListener("click", () => to_rem.forEach(n => n.remove()));
29

  
30
/* Make country selection popup closable. */
31
const langbox_remover = () => document.getElementById("langbox").remove();
32

  
33
const link_selector = ".country_flag a[onclick], .country_button a[onclick]";
34
for (const a of document.querySelectorAll(link_selector))
35
    a.addEventListener("click", langbox_remover);
src/royal_geographical_society.js
1 1
/**
2
 * SPDX-License-Identifier: Apache-2.0
2
 * SPDX-License-Identifier: CC0-1.0
3 3
 *
4
 * Copyright © 2021 jahoti <jahoti@tilde.team>
4
 * Unhide RGS exhibitions page after it loads without nonfree js.
5 5
 *
6
 * Licensed under the Apache License, Version 2.0 (the "License");
7
 * you may not use this file except in compliance with the License.
8
 * You may obtain a copy of the License at
6
 * Copyright (C) 2021 Wojtek Kosior <koszko@koszko.org>
9 7
 *
10
 *    http://www.apache.org/licenses/LICENSE-2.0
8
 * This program is free software: you can redistribute it and/or modify
9
 * it under the terms of the CC0 1.0 Universal License as published by
10
 * the Creative Commons Corporation.
11 11
 *
12
 * Unless required by applicable law or agreed to in writing, software
13
 * distributed under the License is distributed on an "AS IS" BASIS,
14
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
 * See the License for the specific language governing permissions and
16
 * limitations under the License.
12
 * This program is distributed in the hope that it will be useful,
13
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
14
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15
 * CC0 1.0 Universal License for more details.
17 16
 */
18 17

  
19
document.documentElement.style.visibility = 'visible';
20
document.documentElement.style.opacity = '100';
18
const unhide_style = "visibility: visible !important; opacity: 1 !important;";
19
document.documentElement.setAttribute("style", unhide_style);

Also available in: Unified diff