Revision bac96457
Added by koszko over 1 year ago
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 |
|
|
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
improve some of the fixes and add sample URLs for testing