hoothin / UserScripts

Greasemonkey scripts ( Pagetual / Picviewer CE+ / DownloadAllContent ) 油猴脚本集 ユーザースクリプト集
https://greasyfork.org/users/8227-hoothin
2.93k stars 507 forks source link

Need custom rules for those sites (NSFW) #135

Open Dean-Corso opened 2 years ago

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago
    {
        "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

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

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).

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

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.

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

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
  }
Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

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')}})"
    }
Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

It's a javascript code which means fetch all video element on next page and then add listener when mouseenter to remove lazyload.

Dean-Corso commented 2 years ago

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. 😃

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

image 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')})"
    }
Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

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.

Dean-Corso commented 2 years ago

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. 😃

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

Thanks for your report, bro. It's fixed now.

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

Pagetual will not load prev pages. I did not make that function. But you can point nextLink to the selector of prev page button.

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

So what does the switcher look like in your mind?

Dean-Corso commented 2 years ago

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?

hoothin commented 2 years ago

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

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

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}$"
    }
Dean-Corso commented 2 years ago

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?

hoothin commented 2 years ago

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}".

Dean-Corso commented 2 years ago

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.

hoothin commented 2 years ago

Yes, you can remove the $ for that example like "/page19?store".

As for XFantazy, it's impossible if you wish to get the content of next page after change the default sort type in a simple way. The only way to do this is "pageElementByJs". First you should get current type like "mostViewed" and next page like 4, Second you should post this object

{
    "operationName": "Query",
    "variables": {
        "tags": [],
        "tag": "3d-hentai-videos",
        "page": 4,
        "sort": "mostViewed",
        "uploaded": "allTime"
    },
    "query": "query Query($page: Int, $tag: String!, $sort: AllowedSort, $limit: Int, $uploaded: AllowedUploadedFilter, $tags: [String] = []) {\n  getThumbs(page: $page, tag: $tag, sort: $sort, limit: $limit, tags: $tags, uploaded: $uploaded) {\n    totalPages\n    posts {\n      id\n      title\n      duration\n      thumbnail\n      userFileId\n      __typename\n    }\n    __typename\n  }\n}\n"
}

to https://xfantazy.com/graphql. Now you can create elements from data.getThumbs.posts, also you should write the function which to get the preview when mouse over. That's a bit complex and not interesting so maybe I will finish this one day I have more spare time.

Dean-Corso commented 2 years ago

Hi again,

ok god this looks much more complex! Maybe too hard for me. Maybe I have to live with that problem not using your script for all sites.

Feedback about new feature "nextLink" (pre/next). So I see there is a problem you maybe need to fix. Somehow your script does recognize the first & last page of a thread (page 1 - page 10). In both cases when I call the page 1 or 10 directly via URL then your script does set the pre/next status by itself. In case of page 1 its setting for next status (forward) and in case of page 10 (last page) its setting to pre status to scroll backward at the end. Normally this method would be logical but its also a problem when I want to check a topic till the end or start and to stop when finished. In your case its not stopping and does EBFE (infinity) loop and the problem is that I do not see it if I just scroll & scroll. Just wanna ask you if you want to keep this infinity scroll (just happens when I call last page or first page only) whether you could add some visual marker / info when the last post or first post was reached so that I can see that your script does loop into other direction from now on.

Example: Thread of 10 pages 1-10. Its just looping when calling last page or first page. When I call last page = page 10 and scroll down then page 9 gets loaded and showing and here I need to see anything good visible. Maybe some colored PAGE Bar of your script or anything else. You know what I mean? Otherwise I don't see it and just scroll go on etc. So I mean when your script does reach the point of end (start & end) where it wants to scroll go on into other direction then you should show something so that I as user know aha, here was the last post reached etc. Something like that maybe. When I click on the script page bar then it does change the color to dark what means disabled so maybe you can change the color too in case of direction change (red / blue etc) any color you can't over see. Maybe you have anything in mind how to handle this problem. Thank you.

hoothin commented 2 years ago

Thank you for your detailed suggestion. I remove the auto-select for nextlink when there are multi-nextlink. Now you can reach the end without infinity loop until you select the nextlink manually on command menu.

Dean-Corso commented 2 years ago

Hi again,

I tried it again but still works with infinity loop. 😞 No changes. I also see that the script version is still same and no new update is out (1.9.30.6.26). Thats the last version I can update few days ago. Did you fogot it? Thanks.

hoothin commented 2 years ago

Good day. Which site and did you checked your setting of that site by click "switch nextlink" under command menu? Otherwise, can you try the new version and tell me the result whether it's fixed or not?

Dean-Corso commented 2 years ago

Hey hoothin,

nice to see you are back now. 😃 Just checking that vipergirls webpage we talked above about it. Its still not fixed that problem and your script was also not updated since 7 days. Also updated the rules files but no change. Just make it so...

A.) Make the setting for "SwitchNextLink" static to forward in default mode and just keep the change saved. When I as user want to make it backward then I want to set this manually etc you know. In this case you don't need to auto set this option to for / backward when I call the first / last webpage of a thread.

B.) Let it like it is at the moment = auto mode BUT then add any visual marker you do show to the user when your script makes a turn around into other direction.

Example: Page 1-10. I call page 10 last page manually and now I scroll down and right at the end the new page scroller from script is showing page 9 (backward) but here you need to show me any thing to recognize the end / last post or otherwise I just do scroll go on without to recognize it you know. Thanks.

hoothin commented 2 years ago

That's strange as the latest script works with manual mode already. I test the vipergirls and get the right result to stop when reach the end. Also I tried under firefox & edge. So can you give me more information about how to repeat that bug?

Dean-Corso commented 2 years ago

Hi again,

so I have test it again today and now I see its working to 50%. 😃 Problem is the LAST page so in this case your script does set the nextLink parameter to "prev" automatically even when I have set it manually to "next" and reload the last page its always switch back to "prev". In case if the first page its working now as it should. Just check the last page now. Pick any thread and call the last page of it and then go to menu "switch next link" and you see its set to "prev" (2: <) and choose manually the first line called...

1: a[rel='next']
2: <

...and now just refresh the browser and go to menu again and you see its still set on line 2 instead of line 1. So I can see this also in browser console log. When I have set the nextLink to next and reload the page then its also logging it (prev / next). In case of the last page there is no "next" element on the page and your script does just switch to prev element by itself but right this does not happen in case of calling the first page so there is also no "prev" element but your script does NOT set the scroller automatically to "next" element you know. All in all just check the last page now directly then you should see the problem. When you access the pre-last page and scroll forward to the end then everything works fine and the script does scroll to the end and stops there = correct BUT if you call the LAST page in browser and you do scroll forward to the end then it will NOT stop and turn around and its scrolling backward = no stop. Just test it again like I told you hoothin.

PS: I have a small request to you but don't know where to ask you about it. Can I do it here maybe? So you are expert to write scripts stuff and I'am looking for a script to handle cookies (all cookie types) to modify them on fly for specific sites etc. Similar like uBlockOrigin does to block websites with rules etc just want this for cookies. So did you anything like that in the past and have you created any script I don't know yet? On internet I can find many cookie extensions but found no good one what can do what I'am looking for. Maybe its possible to make any script for you etc. Just tell me what you think. Thanks.

hoothin commented 2 years ago

image Still can not repeat that bug😟. I reconfirm my code and there is not any way to set the nextlink automatically. Please, if you have time off to help me find out how to repeat that bug.

As for cookies manager & blocker, I am using edit this cookie, you can give it a try.

Dean-Corso commented 2 years ago

Hi hoothin,

did you call / click on the last page (48 in your case) manually?

Example: Last Page 28 Just click on the link above which is the last page. Now go into script menu and choose "switch next link" and you should see this...(look on my image)... LP1_2022-08-14_212702 ...its set to prev automatically when I go into script menu and pick "switch next link". Now just choose the next line 1 (1:a rel='next') and NOW reload the webpage (F5) and go again into the menu of your script and its still set on "2:<" what means nothing was changed.


Do the same steps now again with any other page which is NOT the last page (1-27). I get this when I click on page 27 and go into script menu.... LP2_2022-08-14_212702 ....and you see the menu is set to "1:>" and if I NOW pick the menu point "2:<" AND reload the webpage again (F5) then its keeps the setting of "2:<" = correctly. Now switch back to menu point "1:>" = you did set it manually and now call the last page again via mouse click (28) and look again into script menu and you see it was set back to "2:<" = Wrong! So we did set it to forward manually on page 27 in this example and when clicking on last page 28 the setting for forward scrolling was changed by itself to backward = wrong behavior. So you need to turn OFF the auto check & set for forward / backward scrolling.


You can also look into browser console to see the debug log. When I load the last page 28 I get this.... LP3_2022-08-14_212702 ...its showing the href page of 27 with the prev page title to call this as next when you scroll down. Its always showing the "prev" when you call the LAST page anyway if you have set your script menu to "1:> or 2:<" = wrong. Now in case of calling page 27 I get this too see when I have set the scroller to forward before (or default)... LP4_2022-08-14_212702 ....and you see its pointing to page 28 next page = correct. Just check this again a little to see and find and fix that problem. I hope that my infos so far will help you.


About my cookie question: The extension you mention "EditThisCookie" just showing session cookies. I need anything to show & modify (auto modify cookies by my rule/s to change values on fly) storage cookies too. No cookie extension I found can do that. Only good cookie extension I found is this called... CookieRipper ...what can show storage cookies in popup menu below and you can edit them too but only manually. See this image... AddOn ....below you see the web storage cookies you can also edit only manually. With this extension you can not check / change cookies on fly by your rules etc whats really bad. There are also no forks of this extension. Could you make a fork of it and improve it (have some more ideas)? Otherwise is it possible for you to make any TM script I can check / change cookies etc? Thank you.

hoothin commented 2 years ago

Thank you, I had clicked on the last page manually. You can see that I checked the "1. next" on page 48 in my case and you can not check "1.next" on page 28, so that's the weird point. Can you tell me more information like the version of your firefox and script manager?

About the Storage, you can change like this. image

Or change with document.cookie and window.localStorage And what does your "automatic rules" looks like?

Dean-Corso commented 2 years ago

Hi again,

I'am using latest versions of Firefox & Brave browser (x64) so I get same bad results on both browsers. I don't think thats an browser problem / issue. Also using Tampermonkey 4.17.6161 in Firefox and 4.16.1 in Brave.

Maybe you can have a look into your older versions so at the beginning it was working (maybe first version you did add this new feature with next / prev) and then after this the problems did started. Something you did change to add some auto recognize of first & last page (In case of first page you did set scroll to forward and in case of last page you did set scroll to backward automatically) so just disable this. Its like driving a car with automatic clutch instead of manual clutch. Just remove the auto switch and just save the last state I did choose as user for the site (for or backward).

I don't have any rules creates etc. Thats why I'am asking you. 😄 I would like to have an script or extension to set rules for cookies / storage cookies for specific sites to check for and modify them or block them etc. A all in one extension / script to handle cookies like I want. So the task is pretty simple, checking, modifying & blocking etc. Just wonder why I can not find any extension what can do this and now I'am asking you whether you could code anything for us. 😃 So the CookieRipper extension / AddOn can block / whitelist session cookies (Ok so far) and edit them manually via popup menu quickly but thats not enough for me. I want to set rules as I told before. Just asking you know. So would it be possible for you to create a script or extension what can do this? Thank you.

hoothin commented 2 years ago

That's the problem!

Your version of pagetual is 1.9.30.6.26, and I have removed the automatic switch on version 1.9.30.6.26.5 at Aug.7. So you can fix it just by update the script.

hoothin commented 2 years ago

About the cookie manager, I don't have much spare time now. I'll think about it after finish my work.

Dean-Corso commented 2 years ago

Hi @hoothin,

ok I did update your script now (auto update was disabled in TM) and its working (1.9.30.6.27). 😃 No more auto scrolls / switchs etc. All fine now so far so thank you for this.

Sounds good about that cookie thing that you could have a look on it to do / create something maybe. Thanks.

hoothin commented 1 year ago

Hi, could you add these? https://kemono.party https://coomer.party thumbnail/ should be cut from the link. Also this might be of use https://sleazyfork.org/en/scripts/448580-kemono-party-image-full-size-autoloader/code Cheers

Hi, do you means original image by picviewer ce+ rule?

Dean-Corso commented 1 year ago

Hi @hoothin.

just wanna tell you that your latest script versions are broken / failed with some websites which was working before. Problem is that some sites do not load thumbnail images anymore on scrolling and they keep all empty. Must be a script bug so I did downgrade to the last working version.

v1.9.30.11  2 days ago  Update pagetual.user.js <-- fails
v1.9.30.10  2 days ago  Update pagetual.user.js <-- fails
v1.9.30.10  3 days ago  Update pagetual.user.js <-- fails
v1.9.30.9   5 days ago  Update pagetual.user.js <-- fails
v1.9.30.8   6 days ago  Update pagetual.user.js <-- works

So from version 1.9.30.9 and higher they all failing to load images on scrolling on some sites. Also same with mouse over function to preview thumbs = also failing after a little scroll. Below two test webpages you can try. Test Webpage 1 - Scroll down and you see the thumbnails keeping all empty Test Webpage 2 - Hover with mouse over titles to see preview images Just check this out to find the problem and fix it in next release to check it again. Thank you.

hoothin commented 1 year ago

Thank you for report! I'll take a look.

hoothin commented 1 year ago

Fixed now, you can try.

Dean-Corso commented 1 year ago

Thank you for the update hoothin. It works. 😃