|
2 | 2 | // @name Improve Adult Experience |
3 | 3 | // @description Skip intros, set better default quality/duration filters, make unwanted video previews transparent, workaround load failures, make input more consistent across the websites. Supported websites: pornhub.com, xvideos.com, anysex.com, spankbang.com, porntrex.com, txxx.com, xnxx.com, xhamster.com, vxxx.com |
4 | 4 | // @icon https://external-content.duckduckgo.com/ip3/pornhub.com.ico |
5 | | -// @version 0.38 |
| 5 | +// @version 0.39 |
6 | 6 | // @downloadURL https://userscripts.codonaft.com/improve-adult-experience.user.js |
7 | 7 | // ==/UserScript== |
8 | 8 |
|
@@ -110,6 +110,11 @@ const subscribeOnChanges = (node, selector, f) => { |
110 | 110 | observeChildren = f(node, observer); |
111 | 111 | } catch (e) { |
112 | 112 | err(e, node); |
| 113 | + if (e.name === 'SecurityError') { |
| 114 | + console.log('disconnect observer'); |
| 115 | + observer.disconnect(); |
| 116 | + return; |
| 117 | + } |
113 | 118 | } |
114 | 119 | } |
115 | 120 |
|
@@ -241,6 +246,7 @@ const init = args => { |
241 | 246 |
|
242 | 247 | if (video.matches('video.jw-video')) { |
243 | 248 | console.log('starting jwplayer'); |
| 249 | + // TODO: kt_player? etc. |
244 | 250 | try { |
245 | 251 | video.play(); |
246 | 252 | return; |
@@ -468,7 +474,7 @@ const init = args => { |
468 | 474 | }); |
469 | 475 | }; |
470 | 476 |
|
471 | | -// TODO: consider redtube.com, tnaflix.com, hdzog.tube, pornxp.com, рус-порно.tv, xgroovy.com, pmvhaven.com, pornhits.com, manysex.com, inporn.com, hqporner.com, bingato.com, taboodude.com, mat6tube.com, hypnotube.com |
| 477 | +// TODO: consider redtube.com, tnaflix.com, hdzog.tube, pornxp.com, рус-порно.tv, xgroovy.com, pmvhaven.com, pornhits.com, manysex.com, inporn.com, hqporner.com, bingato.com, taboodude.com, mat6tube.com, hypnotube.com, incestporno.vip, tube8.com, drtuber.com |
472 | 478 | const shortDomain = window.location.hostname.replace(/^www\./, ''); |
473 | 479 | if (IGNORE_HOSTS.includes(shortDomain)) { |
474 | 480 | console.log(shortDomain, 'is a part of ignore list'); |
@@ -921,6 +927,7 @@ const defaultInit = _ => init({ noKeysOverride: ['KeyF', 'Space'] }); |
921 | 927 | }, |
922 | 928 |
|
923 | 929 | 'xhamster.com': _ => { |
| 930 | + // TODO: <iframe src="https://xhamster.com/embed/xhHw7V9" scrolling="no" allowfullscreen="" width="640" height="480" frameborder="0"></iframe><p></p> |
924 | 931 | const best = 'hd/full-length/best'; |
925 | 932 | init({ |
926 | 933 | css: 'div[data-block="moments"] { display: none !important }', |
|
0 commit comments