UserScripts
UserScripts copied to clipboard
Need custom rules for those sites (NSFW)
Hi hoothin,
I found few sites where your script isn't working for 100% and I wanted to create some custom rules to make them work right. Maybe you can check those sites and create some custom rules to check out what I did miss to add.
Webpage 1: https://femdomup.net/lastnews/ So this website is using video thumbnail previews and the previews aren't working anymore starting from page 2. I tried to make a custom rule and adding the command action": 2 but the animations are not playing. My rule for this site is..
{
"name": "Femdom",
"url": "^https://femdomup\\.net",
"pageElement": "BODY > DIV.wrapper > DIV.content > DIV.cat-shortstory >*",
"action": 2
}
...but its not working and I would like to know why. Just can make it work when I remove the last pageElement "DIV.cat-shortstory" to go more out like this "pageElement": "BODY > DIV.wrapper > DIV.content > main >*", and then it works to see the video previews but the pages itself are looking no more correctly etc pretty bad. Just wanna know why and how to make it right.
Webpage 2: https://joi-me.com/lastnews/ This webpage is not showing correctly from page 2. The content of every single article is shown among themselves and no more side by side. Not sure what custom rule to make in this case.
Webpage 3: https://mixfemdomcc.com/lastnews/ Here almost same problem like on webpage 2, the gray-block classes for each entry are just showing the half image and no more complete from page 2.
Maybe you can check those few webpages out and create some working custom rules I can add and try. Maybe you could explain them a little just to know the reasons and how to make it better next time for myself. Thank you.
{ "name": "Femdom", "url": "^https://femdomup\\.net", "pageElement": ".cat-shortstory", "action": 2 }
{ "name": "Handpicked Jerk-Off Instruction (JOI) Videos", "url": "^https://joi-me\\.com", "action": "1" }
{ "name": "Mixfemdomcc", "url": "^https://mixfemdomcc\\.com", "css": ".gray-block a.highslide_new > img{transform:unset}" }
That's because you input a incorrect pageElement so that rule didn't effect. About other site, you should write css like I paste above. or use "action: 1" to get right css
Hi hoothin,
thanks for your answer. So about the first custom rule. This seems to work good in Firefox but not in Brave browser. On first view it seems also to work in Brave but after few pages they are not showing correctly anymore and its showing the page bar a while. Some kind of overlapping etc. Do you have an idea what parameter to use? Some wait time? By the way, so what does this sandbox parameter mean? I see this is not on the Wiki page or here described. Just see it in some of your rules JSON using true or false for sandbox. Maybe you can tell what it means or whether its just a internal command for yourself.
The second one works fine. Just didn't know & try it without any pageElement parameter. The third rule also works fine. So in this case I just need to pick the image and change the image style. Ah ok. I will test this go on. Thanks again for this rules so far.
I think that because your Brave hasn't updated the script to latest. "sandbox" is used for iframe to run under sandbox so that child iframe won't effect the current page (sth like navigate the current page).
Hi,
so I did update the script to latest version in Brave too but still got same trouble (with femdomup). During scrolling up/down its flashing and I see the bottom area (page bar & footer) for few moments and then it does re-arrange the site etc. Something is going wrong there. I also tried to disable extensions etc but still got same trouble. In case of Firefox I don't have this trouble but I see sometimes its not showing all anymore and I see just the titles of articles first and without showing the thumbnails (only first row).
So I found another website I don't get it shown correctly. The website starting from page 2 is smaller as the first page. I was trying to create this rule...
{
"name": XFantazy.com",
"url": "^https://xfantazy\\.com",
"pageElement": ".MuiGrid-spacing-xs-1",
"action": "2"
},
...and the thumbnail previews are working but the pages are still smaller and just showing 3 thumbnails now in one line instead of 4. Not sure what css I have to change to make them fit. So what I have to change in this case? Thanks.
Use "body" instead. Otherwise you need to overwrite the css below. You can do that but I do not recommend it as you must follow the update of site.
@media (min-width:936px) {
.MuiGrid-grid-md-auto {
flex-grow: 0;
max-width: none;
flex-basis: auto;
}
.MuiGrid-grid-md-true {
flex-grow: 1;
max-width: 100%;
flex-basis: 0;
}
.MuiGrid-grid-md-1 {
flex-grow: 0;
max-width: 8.333333%;
flex-basis: 8.333333%;
}
.MuiGrid-grid-md-2 {
flex-grow: 0;
max-width: 16.666667%;
flex-basis: 16.666667%;
}
.MuiGrid-grid-md-3 {
flex-grow: 0;
max-width: 25%;
flex-basis: 25%;
}
.MuiGrid-grid-md-4 {
flex-grow: 0;
max-width: 33.333333%;
flex-basis: 33.333333%;
}
.MuiGrid-grid-md-5 {
flex-grow: 0;
max-width: 41.666667%;
flex-basis: 41.666667%;
}
.MuiGrid-grid-md-6 {
flex-grow: 0;
max-width: 50%;
flex-basis: 50%;
}
.MuiGrid-grid-md-7 {
flex-grow: 0;
max-width: 58.333333%;
flex-basis: 58.333333%;
}
.MuiGrid-grid-md-8 {
flex-grow: 0;
max-width: 66.666667%;
flex-basis: 66.666667%;
}
.MuiGrid-grid-md-9 {
flex-grow: 0;
max-width: 75%;
flex-basis: 75%;
}
.MuiGrid-grid-md-10 {
flex-grow: 0;
max-width: 83.333333%;
flex-basis: 83.333333%;
}
.MuiGrid-grid-md-11 {
flex-grow: 0;
max-width: 91.666667%;
flex-basis: 91.666667%;
}
.MuiGrid-grid-md-12 {
flex-grow: 0;
max-width: 100%;
flex-basis: 100%;
}
}
And you can just use the experimental prop "fitWidth: false" for your rule of this site.
Hi,
So it seems not to work correctly when using your JSON code for css.
{
"name": "taboo - XFantazy.com",
"url": "^https://xfantazy\\.com",
"action": "2",
"css": "@media (min-width:936px) { .MuiGrid-grid-md-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-md-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-md-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-md-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-md-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-md-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-md-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-md-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-md-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-md-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-md-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-md-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-md-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-md-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; }}"
}
Also just using the BODY makes trouble and sites getting loaded randomly and also not shown but I see the counter in Tampermonkey is increasing higher & higher but now pages are visible or just the pages bars are visible without showing anything. Maybe you can check this again and post a working rule I can paste and try out. I also tried this...
{
"name": "taboo - XFantazy.com",
"url": "^https://xfantazy\\.com",
"action": "2",
"fitWidth": false,
"pageElement": "body",
"css": "@media (min-width:936px) { .MuiGrid-grid-md-auto { flex-grow: 0; max-width: none; flex-basis: auto; } .MuiGrid-grid-md-true { flex-grow: 1; max-width: 100%; flex-basis: 0; } .MuiGrid-grid-md-1 { flex-grow: 0; max-width: 8.333333%; flex-basis: 8.333333%; } .MuiGrid-grid-md-2 { flex-grow: 0; max-width: 16.666667%; flex-basis: 16.666667%; } .MuiGrid-grid-md-3 { flex-grow: 0; max-width: 25%; flex-basis: 25%; } .MuiGrid-grid-md-4 { flex-grow: 0; max-width: 33.333333%; flex-basis: 33.333333%; } .MuiGrid-grid-md-5 { flex-grow: 0; max-width: 41.666667%; flex-basis: 41.666667%; } .MuiGrid-grid-md-6 { flex-grow: 0; max-width: 50%; flex-basis: 50%; } .MuiGrid-grid-md-7 { flex-grow: 0; max-width: 58.333333%; flex-basis: 58.333333%; } .MuiGrid-grid-md-8 { flex-grow: 0; max-width: 66.666667%; flex-basis: 66.666667%; } .MuiGrid-grid-md-9 { flex-grow: 0; max-width: 75%; flex-basis: 75%; } .MuiGrid-grid-md-10 { flex-grow: 0; max-width: 83.333333%; flex-basis: 83.333333%; } .MuiGrid-grid-md-11 { flex-grow: 0; max-width: 91.666667%; flex-basis: 91.666667%; } .MuiGrid-grid-md-12 { flex-grow: 0; max-width: 100%; flex-basis: 100%; }}"
}
...but it makes also problems. Its also showing now just 3 thumbnails in page 1 (normaly are 4 shown). So what to do in cases when your script does not show your page bar anymore or just the page bar? Any command you do recommend in this cases? Thank you.
Rule like this, no need to use css if you set fitWidth to false.
{ "name": "XFantazy", "url": "^https://xfantazy\\.com", "pageElement": ".MuiGrid-container", "action": 2, "fitWidth": false }
Thanks for the new command. It works good for this site.
But there is still the problem with that femdomup website in Firefox & Brave browser. Its flashing / flicker up/down and the page scroller jumps and not all thumbs are shown. Sometimes there are missing the first 2 rows and just see only the titles. Could you check this again what the problem is and how to fix it? The rule was that... Press Me
{
"name": "Femdom",
"url": "^https://femdomup\\.net",
"pageElement": ".cat-shortstory",
"action": 2
}
Just scroll down / up and you should see it. Also tried using just the body element but then it looks all mixed and wrong. Thank you.
If you want to suit site like that, you should write rule like this after analyze that site. Unfortunately no easy way.
{ "name": "Femdom", "url": "^https://femdomup\\.net", "pageElement": ".cat-shortstory>article", "pageAction": "eles.forEach(ele=>{let video=ele.querySelector('video');video.onmouseenter=e=>{video.src=video.dataset.src;video.classList.add('prev-video')};video.onmouseleave=e=>{video.src='/templates/videok2s/dleimages/plug.webm';video.classList.remove('prev-video')}})" }
Hi hoothin,
thank you for the new rule for this website. It works now very nice without any flashing or other wrong representation etc. But I also have to say that this new pageAction is super hard to follow & understand. 😢 Is it possible that you could maybe explain this pageAction rule a little? Just if you don't mind. Thanks.
It's a javascript code which means fetch all video element on next page and then add listener when mouseenter to remove lazyload.
Ok, seems to be still hard to understand without to know much about JS. Thank you for the script update. I see you did add now a element picker window which seems to be much helpfully now without using browser dev tools or uBO pickers. 😃
I have another question. I was trying around to use your script on new sites and I found some issues again. In few cases your script works very good for much pages and then comes one page which is not showing correctly and I would like to know why.
Example website: This Site
I creates this rule.
{
"name": "TestPage",
"url": "^https://www\\.fcportables\\.com",
"pageElement": ".clearfix.listing-blog-3.listing-blog.listing",
"action": 2
}
I also created another rule using your new picker...
{
"name": "TestPage",
"url": "^https://www\\.fcportables\\.com",
"pageElement": "id(\"content\")/div[@class=\"container layout-2-col layout-2-col-1 layout-right-sidebar\"]/div[@class=\"row main-section\"]/div[@class=\"col-sm-8 content-column\"]/div[@class=\"listing listing-blog listing-blog-3 clearfix \"]",
"type": 0,
"action": 2
}
...its working pretty well but after scrolling 10-20 pages one page is not showing right anymore. Every single page of this website is showing 6 articles with an image and right after 16 pages (in my case) I get to see the pagebar of the website itself ("class="pagination bs-numbered-pagination"") which is not shown all pages before and in this one wrong showing page its showing the content from the right side below. So that means that one page is not showing with right content. I would like to know why this happens and how to fix this so maybe you can have a look on this site. Just keep in mind if you need to scroll down 10-20 pages before it happens. Thanks.
I can't reappear it with action:2.
For this site, you can use this rule instead:
{ "name": "FC Portables", "url": "^https://www\\.fcportables\\.com", "pageElement": ".listing-blog>article", "pageAction": "eles.forEach(e=>{let a=e.querySelector('.img-holder');if(!a)return;a.style.backgroundImage=`url(\"${a.dataset.src}\")`;a.classList.add('b-loaded')})" }
Hello hoothin,
thank you for checking this site and creating a rule. Its working pretty good now. No more issues anymore. 😃 The bad thing is that I still can not follow your created rule. 😢 Maybe you can explain this for me a little. I tried to check this in inspector of browser and found the way of your created pageElement.
div class="listing listing-blog listing-blog-3 clearfix "
article class="post-30813 type-post format-standard has-post-thumbnail listing-item listing-item-blog listing-item-blog-3 main-term-8 bsw-7 "
Now you have choosen a single article element but what about the pageAction?
eles.forEach(e=>{let a=e.querySelector('.img-holder')
I can find the img-holder class but what is the e.querySelector? Just can find this in pagesource 2 times or did you just use this command / JS? So you do loop all im-holder classes of page and put them into a variable "a". I think this should be your first command / step. Then you check this...
if(!a)return
...whether something is in variable a and if not then just return / do nothing. Then...
a.style.backgroundImage="url(\"${a.dataset.src}\")"
...no idea about the rest. Somehow tricky to check this. So could you tell me what you picked from the website itself and what not? A short tutorial would be nice just to have a example and to know how to make it by myself later etc. Thanks.
Sorry but It's hard to explain as it's just a simple js code. Maybe you can learn that language a little to read the code. I think this rule can not be normally used for other site, otherwise I will just make a prop for rule to simplify it. After all, you can always report your website that you wish to create a rule here until you can write one by yourself.
Yes I'am trying to follow and understand your rule/s but its not so easy for me. Otherwise its good that I can post any webpages here to ask you about it and to get some working rules. Thank you. 😃
Hi hoothin,
just wanna tell you that any update of your script / rules did break a forum website...Forum ...and it does repeat the same site agian and again in loop without to come forward anymore. Just look at the post number (796) and it does repeat and also the page number of your script keeps same. Maybe you can have a look and fix this problem. Just remember few days ago it was working but now it dosen't work anymore. I also tried to make a custom rule using the "nextLink" parameter but I get same scroll-loop problem...
"nextLink": "a[title='Next Page']"
....as using no custom rule for that website. Just have a look. Thanks.
Thanks for your report, bro. It's fixed now.
Thanks for fixing hoothin. 😃 So I have another question about your script. Is it also possible to make it work for backward scrollings? Just for example, lets also imagine we would visit a forum which has 25 pages and now I could start from page 1 and reading all pages forward (normal way) but what if I want to check pages backward starting from the latest page 25 til page 1. Is that also doable? Maybe you could add a extra function in your script menu (configure, toggle etc) to set the actually scrolling method to backward counts instead of forward counts (some simple switch / On Off etc). In this case I could scroll forward from top to bottom (as always) and at the bottom the new page which gets loaded are lower pages (I start from page 25 for example and then comes page 24, 23, 22, 21 etc). Just asking whether your script can do this already anyhow or whether you could add this. Mostly I would need this function when I check some forum threads only. What do you think? Some kind of reverse scrolling in forward style.
Pagetual will not load prev pages. I did not make that function. But you can point nextLink to the selector of prev page button.
Ok, but how to handle both? NextLink & PrevLink? Just can use one of them not both right. I would like to have & use both (Next & Prev) with a switcher anywhere. So in normal state I want to scroll the pages forward and in other cases I want to scroll the pages backward. Maybe you can do / add anything to make it work only for custom rules etc if possible.
So what does the switcher look like in your mind?
So you could add abother command for "nextLink" called "preLink". Example in mind....
{
"name": "forum - showthread.php",
"action": 1,
"url": "^https://vipergirls\\.to",
"pageElement": ".posts",
"nextLink": "a.next",
"preLink": "a.pre"
}
...lets I as user do define it like this using both commands for next / pre. So in normal state (default) your script should just check the "nextLink" command / content to handle it and doing just some forward scrollings (normal). Now lets say I as user want this custom rule to work with the "preLink" command / content instead and this I need to tell your script anyhow and here you could add another menu point of pagetual. So you could set another menu point right under the menu point "Toggle Disabled State" to set menu point called "Toggle to Backward Scroll" / "Toggle to Forward Scroll" on this webpage. Just showing that menu points only if "preLink" rule is set for that website etc you know. I think this is a good idea and handling method to handle both scrollings for forward & backward and of course the scrollings are just going in forward style from above to bottom but in case of backward the user did set the pages sites to de-crease (20, 19, 18 etc) and loading the backward pages. Yes, thats really a good idea. So what do you think about it?
Try this and you can switch nextlink by click the command menu.
{ "name": "Vipergirls", "pageElement": "#threads,.posts", "url": "^https://vipergirls\\.to", "nextLink": [ "a[rel='next']", "a[rel='prev']" ] }
You can use this for nextLink, pageElement and insert, like
"nextLink": [
"a[rel='next']",
"a[rel='prev']"
],
"pageElement ": [
"xxx",
"xxx"
],
"insert": [
"xxx",
"xxx"
]
or just set nextLink
Hi hoothin,
thanks for adding the extra feature. 😃 I did test it with that site and it seems to work to scroll for & backward. But somehow the page numbers are wrong sometimes (4, 3, 2, 4 <-- first page) or the same page gets loaded twice / double. Also the menu point "Switch Next Link" is not shown when I did open the last page (1 of 10 <-- not shown). Otherwise it works nice so far. I will test go on and send some more feedback later about it.
Maybe fixed, need more test. As for the pageNum, use this rule to show the right number.
{ "name": "Vipergirls", "pageElement": "#threads,.posts", "url": "^https://vipergirls\\.to", "nextLink": [ "a[rel='next']", "a[rel='prev']" ], "pageNum": "page{$p}$" }
Hi again,
so I tried to use the new rule and it seems to work but there is another new problem. Somehow the default state of the nextLink command in the script menu is always set to "prev" (second line) when I'am close to the end of pages. Each time if I refresh the site the default is set on prev. So before it was always set on the last next/prev line I did choose and that was better I think. Just disable that auto check & set function.
Example: When scroll forward on forum pages 1-10 then your script will scroll go on after page 10 back to page 9, 8, 7 etc and thats bad. When I start from page 10 and wanna scroll backward then I want to enable this manually to make it work. Maybe you can change this back etc.
One more question about the pageNum command. So in this case you did use "page{$p}$". So I see the url at the end is like this... "/page19" which is for "page{$p}" (clear so far) but why did you add another dollor sign outside? What that means?
That's because every time you scroll to end, Pagetual will try to check nextlink which existed and stored. With the function "Preload next x page" Pagetual will reach the end and invert as there's no nextlink of the last page. And it's now fixed by change the function to check link only when start. You can try and tell me the result.
About the pageNum, "$" at the end just means end position of the url. I add this to make sure there is no character after "page{$p}".
Hey hoothin,
ok thanks, I have test it again now and it seems to work as before just setting the forward / backward manually (no more auto mode). Very good. Ok, not sure what you mean about the last "$" but I will keep this in mind for later. Or do you mean this so if a URL looks like this.../page19?store=423423423&suf=A using extra parameters in the end of the URL to keep them or remove etc?
Ok listen, I got a new problem with a webpage you did checked already before and you gave me this rule...
{
"name": "XFantazy",
"url": "^https://xfantazy\\.com",
"pageElement": ".MuiGrid-container",
"action": 2,
"fitWidth": false
}
...now I just have seen that this not works correctly. So it looks like it would work but from the second page of scrolling its showing wrong thumbnails (default thumbnails / relevance). So in the right corner at the top of the website.... Like This ...you can see a menu you can change settings like the sort type (relevance / Newest etc). So in default mode its always set to relevance (scrolling ok) but when I change this to Newest and scroll down then from page 2 its still showing the default thumbs of the relevance soft type. How to handle this problem now? There some here...
<span class="MuiButton-label"
Relevance
...whats changing the status. Maybe you can have look again so I'am not sure how to manage this issue now. Thank you.